From c263388a1ff09e96e01af1d488fb26c503114757 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 20:13:35 +0200 Subject: [PATCH 01/35] Runtime file updates. (Tim Pope) --HG-- branch : vim73 --- runtime/compiler/cucumber.vim | 29 +++++++++++++++++++++++++++++ runtime/ftplugin/cucumber.vim | 4 ++-- runtime/syntax/haml.vim | 18 +++++++++--------- runtime/syntax/sass.vim | 13 ++++++------- 4 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 runtime/compiler/cucumber.vim diff --git a/runtime/compiler/cucumber.vim b/runtime/compiler/cucumber.vim new file mode 100644 index 0000000000..c020be6e3b --- /dev/null +++ b/runtime/compiler/cucumber.vim @@ -0,0 +1,29 @@ +" Vim compiler file +" Compiler: Cucumber +" Maintainer: Tim Pope +" Last Change: 2010 Aug 09 + +if exists("current_compiler") + finish +endif +let current_compiler = "cucumber" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo-=C + +CompilerSet makeprg=cucumber + +CompilerSet errorformat= + \%W%m\ (Cucumber::Undefined), + \%E%m\ (%.%#), + \%Z%f:%l, + \%Z%f:%l:%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim:set sw=2 sts=2: diff --git a/runtime/ftplugin/cucumber.vim b/runtime/ftplugin/cucumber.vim index 63cfbcf336..a29d46a039 100644 --- a/runtime/ftplugin/cucumber.vim +++ b/runtime/ftplugin/cucumber.vim @@ -1,7 +1,7 @@ " Vim filetype plugin " Language: Cucumber " Maintainer: Tim Pope -" Last Change: 2010 May 21 +" Last Change: 2010 Aug 09 " Only do this when not done yet for this buffer if (exists("b:did_ftplugin")) @@ -80,7 +80,7 @@ function! s:stepmatch(receiver,target) endif catch endtry - if has("ruby") + if has("ruby") && pattern !~ '\\\@ " Filenames: *.haml -" Last Change: 2010 Jul 26 +" Last Change: 2010 Aug 09 if exists("b:current_syntax") finish @@ -21,7 +21,7 @@ syn include @hamlRubyTop syntax/ruby.vim syn case match -syn region rubyCurlyBlock start="{" end="}" contains=@hamlRubyTop contained containedin=rubyInterpolation +syn region rubyCurlyBlock start="{" end="}" contains=@hamlRubyTop contained syn cluster hamlRubyTop add=rubyCurlyBlock syn cluster hamlComponent contains=hamlAttributes,hamlAttributesHash,hamlClassChar,hamlIdChar,hamlObject,hamlDespacer,hamlSelfCloser,hamlRuby,hamlPlainChar,hamlInterpolatable @@ -47,7 +47,7 @@ syn region hamlRuby matchgroup=hamlRubyChar start="-" skip=", syn match hamlPlainChar "\\" contained syn region hamlInterpolatable matchgroup=hamlInterpolatableChar start="!\===\|!=\@!" end="$" keepend contained contains=hamlInterpolation,hamlInterpolationEscape,@hamlHtmlTop syn region hamlInterpolatable matchgroup=hamlInterpolatableChar start="&==\|&=\@!" end="$" keepend contained contains=hamlInterpolation,hamlInterpolationEscape -syn region hamlInterpolation matchgroup=hamlInterpolationDelimiter start="#{" end="}" contains=@hamlRubyTop +syn region hamlInterpolation matchgroup=hamlInterpolationDelimiter start="#{" end="}" contains=@hamlRubyTop containedin=javascriptStringS,javascriptStringD syn match hamlInterpolationEscape "\\\@" contained contains=@hamlRubyTop @@ -55,16 +55,16 @@ syn region hamlAttributeString start=+\%(=\s*\)\@<='+ skip=+\%(\\\\\)*\\'+ end= syn region hamlAttributeString start=+\%(=\s*\)\@<="+ skip=+\%(\\\\\)*\\"+ end=+"+ contains=hamlInterpolation,hamlInterpolationEscape syn match hamlAttributeVariable "\%(=\s*\)\@<=\%(@@\=\|\$\)\=\w\+" contained -syn match hamlHelper "\ " Filenames: *.sass -" Last Change: 2010 Jul 28 +" Last Change: 2010 Aug 9 if exists("b:current_syntax") finish @@ -20,7 +20,7 @@ syn region sassDefinition matchgroup=cssBraces start="{" end="}" contains=TOP syn match sassProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+:" contains=css.*Prop skipwhite nextgroup=sassCssAttribute contained containedin=sassDefinition syn match sassProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute syn match sassProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute -syn match sassCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|[^{};]\)*+ contained contains=@sassCssAttributes,sassVariable,sassFunction +syn match sassCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@sassCssAttributes,sassVariable,sassFunction,sassInterpolation syn match sassDefault "!default\>" contained syn match sassVariable "!\%(important\>\|default\>\)\@![[:alnum:]_-]\+" syn match sassVariable "$[[:alnum:]_-]\+" @@ -34,15 +34,14 @@ syn match sassFunction "\<\%(unquote\|quote\)\>(\@=" contained syn match sassFunction "\<\%(percentage\|round\|ceil\|floor\|abs\)\>(\@=" contained syn match sassFunction "\<\%(type-of\|unit\|unitless\|comparable\)\>(\@=" contained -syn region sassInterpolation matchgroup=sassInterpolationDelimiter start="#{" end="}" contains=@sassCssAttributes,sassVariable,sassFunction containedin=cssStringQ,cssStringQQ,sassCssAttribute,sassProperty +syn region sassInterpolation matchgroup=sassInterpolationDelimiter start="#{" end="}" contains=@sassCssAttributes,sassVariable,sassFunction containedin=cssStringQ,cssStringQQ,sassProperty syn match sassMixinName "[[:alnum:]_-]\+" contained nextgroup=sassCssAttribute syn match sassMixin "^=" nextgroup=sassMixinName -syn match sassMixin "^\s*\zs@mixin" nextgroup=sassMixinName skipwhite +syn match sassMixin "\%([{};]\s*\|^\s*\)\@<=@mixin" nextgroup=sassMixinName skipwhite syn match sassMixing "^\s\+\zs+" nextgroup=sassMixinName -syn match sassMixing "^\s\+\zs@include" nextgroup=sassMixinName skipwhite -syn match sassMixing "\%([{};]\s*\|^\)\@<=@include" nextgroup=sassMixinName skipwhite contained containedin=sassDefinition -syn match sassExtend "^\s\+\zs@extend" +syn match sassMixing "\%([{};]\s*\|^\s*\)\@<=@include" nextgroup=sassMixinName skipwhite +syn match sassExtend "\%([{};]\s*\|^\s*\)\@<=@extend" syn match sassEscape "^\s*\zs\\" syn match sassIdChar "#[[:alnum:]_-]\@=" nextgroup=sassId From bc4d825ebb5ea5665bde77063a56c281b9c30a69 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 20:16:32 +0200 Subject: [PATCH 02/35] Version 7.3e -> 7.3f. --HG-- branch : vim73 --- Contents | 8 ++++---- Makefile | 2 +- README.txt | 2 +- README_ami.txt | 2 +- README_amibin.txt | 2 +- README_amisrc.txt | 2 +- README_bindos.txt | 2 +- README_dos.txt | 2 +- README_extra.txt | 2 +- README_mac.txt | 2 +- README_ole.txt | 2 +- README_os2.txt | 2 +- README_os390.txt | 2 +- README_src.txt | 2 +- README_srcdos.txt | 2 +- README_unix.txt | 2 +- README_vms.txt | 2 +- README_w32s.txt | 2 +- nsis/gvim.nsi | 2 +- runtime/doc/arabic.txt | 2 +- runtime/doc/autocmd.txt | 2 +- runtime/doc/change.txt | 2 +- runtime/doc/cmdline.txt | 2 +- runtime/doc/debug.txt | 2 +- runtime/doc/debugger.txt | 2 +- runtime/doc/develop.txt | 2 +- runtime/doc/diff.txt | 2 +- runtime/doc/digraph.txt | 2 +- runtime/doc/editing.txt | 2 +- runtime/doc/eval.txt | 2 +- runtime/doc/farsi.txt | 2 +- runtime/doc/filetype.txt | 2 +- runtime/doc/fold.txt | 2 +- runtime/doc/ft_ada.txt | 2 +- runtime/doc/ft_sql.txt | 2 +- runtime/doc/gui.txt | 2 +- runtime/doc/gui_w16.txt | 2 +- runtime/doc/gui_w32.txt | 2 +- runtime/doc/gui_x11.txt | 2 +- runtime/doc/hangulin.txt | 2 +- runtime/doc/hebrew.txt | 2 +- runtime/doc/help.txt | 2 +- runtime/doc/helphelp.txt | 2 +- runtime/doc/howto.txt | 2 +- runtime/doc/if_cscop.txt | 2 +- runtime/doc/if_lua.txt | 2 +- runtime/doc/if_mzsch.txt | 2 +- runtime/doc/if_ole.txt | 2 +- runtime/doc/if_perl.txt | 2 +- runtime/doc/if_pyth.txt | 2 +- runtime/doc/if_ruby.txt | 2 +- runtime/doc/if_sniff.txt | 2 +- runtime/doc/if_tcl.txt | 2 +- runtime/doc/indent.txt | 2 +- runtime/doc/index.txt | 2 +- runtime/doc/insert.txt | 2 +- runtime/doc/intro.txt | 2 +- runtime/doc/map.txt | 2 +- runtime/doc/mbyte.txt | 2 +- runtime/doc/message.txt | 2 +- runtime/doc/mlang.txt | 2 +- runtime/doc/motion.txt | 2 +- runtime/doc/netbeans.txt | 2 +- runtime/doc/options.txt | 2 +- runtime/doc/os_390.txt | 2 +- runtime/doc/os_amiga.txt | 2 +- runtime/doc/os_beos.txt | 2 +- runtime/doc/os_dos.txt | 2 +- runtime/doc/os_mac.txt | 2 +- runtime/doc/os_mint.txt | 2 +- runtime/doc/os_msdos.txt | 2 +- runtime/doc/os_os2.txt | 2 +- runtime/doc/os_qnx.txt | 2 +- runtime/doc/os_risc.txt | 2 +- runtime/doc/os_unix.txt | 2 +- runtime/doc/os_vms.txt | 2 +- runtime/doc/os_win32.txt | 2 +- runtime/doc/pattern.txt | 2 +- runtime/doc/pi_getscript.txt | 2 +- runtime/doc/pi_gzip.txt | 2 +- runtime/doc/pi_netrw.txt | 2 +- runtime/doc/pi_paren.txt | 2 +- runtime/doc/pi_spec.txt | 2 +- runtime/doc/pi_tar.txt | 2 +- runtime/doc/pi_vimball.txt | 2 +- runtime/doc/pi_zip.txt | 2 +- runtime/doc/print.txt | 2 +- runtime/doc/quickfix.txt | 2 +- runtime/doc/quickref.txt | 2 +- runtime/doc/quotes.txt | 2 +- runtime/doc/recover.txt | 2 +- runtime/doc/remote.txt | 2 +- runtime/doc/repeat.txt | 2 +- runtime/doc/rileft.txt | 2 +- runtime/doc/russian.txt | 2 +- runtime/doc/scroll.txt | 2 +- runtime/doc/sign.txt | 2 +- runtime/doc/spell.txt | 2 +- runtime/doc/sponsor.txt | 2 +- runtime/doc/starting.txt | 2 +- runtime/doc/syntax.txt | 2 +- runtime/doc/tabpage.txt | 2 +- runtime/doc/tagsrch.txt | 2 +- runtime/doc/term.txt | 2 +- runtime/doc/tips.txt | 2 +- runtime/doc/todo.txt | 2 +- runtime/doc/uganda.txt | 2 +- runtime/doc/undo.txt | 2 +- runtime/doc/usr_01.txt | 2 +- runtime/doc/usr_02.txt | 2 +- runtime/doc/usr_03.txt | 2 +- runtime/doc/usr_04.txt | 2 +- runtime/doc/usr_05.txt | 2 +- runtime/doc/usr_06.txt | 2 +- runtime/doc/usr_07.txt | 2 +- runtime/doc/usr_08.txt | 2 +- runtime/doc/usr_09.txt | 2 +- runtime/doc/usr_10.txt | 2 +- runtime/doc/usr_11.txt | 2 +- runtime/doc/usr_12.txt | 2 +- runtime/doc/usr_20.txt | 2 +- runtime/doc/usr_21.txt | 2 +- runtime/doc/usr_22.txt | 2 +- runtime/doc/usr_23.txt | 2 +- runtime/doc/usr_24.txt | 2 +- runtime/doc/usr_25.txt | 2 +- runtime/doc/usr_26.txt | 2 +- runtime/doc/usr_27.txt | 2 +- runtime/doc/usr_28.txt | 2 +- runtime/doc/usr_29.txt | 2 +- runtime/doc/usr_30.txt | 2 +- runtime/doc/usr_31.txt | 2 +- runtime/doc/usr_32.txt | 2 +- runtime/doc/usr_40.txt | 2 +- runtime/doc/usr_41.txt | 2 +- runtime/doc/usr_42.txt | 2 +- runtime/doc/usr_43.txt | 2 +- runtime/doc/usr_44.txt | 2 +- runtime/doc/usr_45.txt | 2 +- runtime/doc/usr_90.txt | 2 +- runtime/doc/usr_toc.txt | 2 +- runtime/doc/various.txt | 2 +- runtime/doc/version4.txt | 2 +- runtime/doc/version5.txt | 2 +- runtime/doc/version6.txt | 2 +- runtime/doc/version7.txt | 2 +- runtime/doc/vi_diff.txt | 2 +- runtime/doc/visual.txt | 2 +- runtime/doc/windows.txt | 2 +- runtime/doc/workshop.txt | 2 +- src/GvimExt/GvimExt.reg | 4 ++-- src/Makefile | 2 +- src/version.h | 16 ++++++++-------- src/vim.def | 2 +- src/vim16.def | 2 +- 155 files changed, 166 insertions(+), 166 deletions(-) diff --git a/Contents b/Contents index 81c9965df9..46a518d70e 100644 --- a/Contents +++ b/Contents @@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful messages, shows current file name in window title, on-line help, rectangular cut/paste, etc., etc., etc... - Version 7.3e. Also runs under UNIX, MSDOS and other systems. - vim73ert.tgz contains the documentation and syntax files. - vim73ebin.tgz contains the binaries. - vim73esrc.tgz contains the sources. + Version 7.3f. Also runs under UNIX, MSDOS and other systems. + vim73frt.tgz contains the documentation and syntax files. + vim73fbin.tgz contains the binaries. + vim73fsrc.tgz contains the sources. Author: Bram Moolenaar et al. diff --git a/Makefile b/Makefile index 2696835291..4190e7d401 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,7 @@ all install uninstall tools config configure reconfig proto depend lint tags typ # Before creating an archive first delete all backup files, *.orig, etc. MAJOR = 7 -MINOR = 3e +MINOR = 3f # Uncomment this line if the Win32s version is to be included. DOSBIN_S = dosbin_s diff --git a/README.txt b/README.txt index e439c2403b..d3539cdd6e 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README.txt for version 7.3e of Vim: Vi IMproved. +README.txt for version 7.3f of Vim: Vi IMproved. WHAT IS VIM diff --git a/README_ami.txt b/README_ami.txt index 947c9dfaba..a178d66d13 100644 --- a/README_ami.txt +++ b/README_ami.txt @@ -1,4 +1,4 @@ -README_ami.txt for version 7.3e of Vim: Vi IMproved. +README_ami.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on Amiga systems. See README.txt for general information about Vim. diff --git a/README_amibin.txt b/README_amibin.txt index d7ec1e6f6d..bb5ce7d27c 100644 --- a/README_amibin.txt +++ b/README_amibin.txt @@ -1,4 +1,4 @@ -README_amibin.txt for version 7.3e of Vim: Vi IMproved. +README_amibin.txt for version 7.3f of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_ami.txt" for installation instructions for the Amiga. diff --git a/README_amisrc.txt b/README_amisrc.txt index 890f139fd9..c581734681 100644 --- a/README_amisrc.txt +++ b/README_amisrc.txt @@ -1,4 +1,4 @@ -README_amisrc.txt for version 7.3e of Vim: Vi IMproved. +README_amisrc.txt for version 7.3f of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_ami.txt" for installation instructions for the Amiga. diff --git a/README_bindos.txt b/README_bindos.txt index f5e311f09f..7bb7f810e7 100644 --- a/README_bindos.txt +++ b/README_bindos.txt @@ -1,4 +1,4 @@ -README_bindos.txt for version 7.3e of Vim: Vi IMproved. +README_bindos.txt for version 7.3f of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. diff --git a/README_dos.txt b/README_dos.txt index 63ff08ba68..d65bd8eb86 100644 --- a/README_dos.txt +++ b/README_dos.txt @@ -1,4 +1,4 @@ -README_dos.txt for version 7.3e of Vim: Vi IMproved. +README_dos.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on MS-DOS and MS-Windows systems. See "README.txt" for general information about Vim. diff --git a/README_extra.txt b/README_extra.txt index 7045c3cce0..efbcdedb3a 100644 --- a/README_extra.txt +++ b/README_extra.txt @@ -1,4 +1,4 @@ -README_extra.txt for version 7.3e of Vim: Vi IMproved. +README_extra.txt for version 7.3f of Vim: Vi IMproved. These extra files of Vim are for special purposes. This README explains what the files are for. For general information about Vim, see the "README.txt" diff --git a/README_mac.txt b/README_mac.txt index 631d62d7da..7acc63c320 100644 --- a/README_mac.txt +++ b/README_mac.txt @@ -1,4 +1,4 @@ -README_mac.txt for version 7.3e of Vim: Vi IMproved. +README_mac.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on Macintosh systems. See "README.txt" for general information about Vim. diff --git a/README_ole.txt b/README_ole.txt index 30d56e2b65..8a06f3d030 100644 --- a/README_ole.txt +++ b/README_ole.txt @@ -1,4 +1,4 @@ -README_ole.txt for version 7.3e of Vim: Vi IMproved. +README_ole.txt for version 7.3f 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 diff --git a/README_os2.txt b/README_os2.txt index 9f58e4ca91..da9f55ef22 100644 --- a/README_os2.txt +++ b/README_os2.txt @@ -1,4 +1,4 @@ -README_os2.txt for version 7.3e of Vim: Vi IMproved. +README_os2.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on OS/2 systems. See "README.txt" for general information about Vim. diff --git a/README_os390.txt b/README_os390.txt index 0acdf95ef2..e2514e5798 100644 --- a/README_os390.txt +++ b/README_os390.txt @@ -1,4 +1,4 @@ -README_zOS.txt for version 7.3e of Vim: Vi IMproved. +README_zOS.txt for version 7.3f of Vim: Vi IMproved. This readme explains how to build Vim on z/OS. Formerly called OS/390. See "README.txt" for general information about Vim. diff --git a/README_src.txt b/README_src.txt index f05230b8b7..f23c5095d3 100644 --- a/README_src.txt +++ b/README_src.txt @@ -1,4 +1,4 @@ -README_src.txt for version 7.3e of Vim: Vi IMproved. +README_src.txt for version 7.3f of Vim: Vi IMproved. The source archive contains the files needed to compile Vim on Unix systems. It is packed for Unix systems (NL line separator). It is also used for other diff --git a/README_srcdos.txt b/README_srcdos.txt index d6536d03f0..c479756a1d 100644 --- a/README_srcdos.txt +++ b/README_srcdos.txt @@ -1,4 +1,4 @@ -README_srcdos.txt for version 7.3e of Vim: Vi IMproved. +README_srcdos.txt for version 7.3f of Vim: Vi IMproved. See "README.txt" for general information about Vim. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. diff --git a/README_unix.txt b/README_unix.txt index c2ee08d0ae..b5ebf6065f 100644 --- a/README_unix.txt +++ b/README_unix.txt @@ -1,4 +1,4 @@ -README_unix.txt for version 7.3e of Vim: Vi IMproved. +README_unix.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on Unix systems. See "README.txt" for general information about Vim. diff --git a/README_vms.txt b/README_vms.txt index 0efbea2ac4..f637da2ddd 100644 --- a/README_vms.txt +++ b/README_vms.txt @@ -1,4 +1,4 @@ -README_vms.txt for version 7.3e of Vim: Vi IMproved. +README_vms.txt for version 7.3f of Vim: Vi IMproved. This file explains the installation of Vim on VMS systems. See "README.txt" in the runtime archive for information about Vim. diff --git a/README_w32s.txt b/README_w32s.txt index 89d7b39265..07ae7aef5b 100644 --- a/README_w32s.txt +++ b/README_w32s.txt @@ -1,4 +1,4 @@ -README_w32s.txt for version 7.3e of Vim: Vi IMproved. +README_w32s.txt for version 7.3f of Vim: Vi IMproved. This archive contains the gvim.exe that was specifically compiled for use in the Win32s subsystem in MS-Windows 3.1 and 3.11. diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi index 97a463af58..6bb56b0cfc 100644 --- a/nsis/gvim.nsi +++ b/nsis/gvim.nsi @@ -22,7 +22,7 @@ !define HAVE_NLS !define VER_MAJOR 7 -!define VER_MINOR 3e +!define VER_MINOR 3f # ----------- No configurable settings below this line ----------- diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt index ee4ec2033c..00929f2b51 100644 --- a/runtime/doc/arabic.txt +++ b/runtime/doc/arabic.txt @@ -1,4 +1,4 @@ -*arabic.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*arabic.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Nadim Shaikli diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index c435d45a06..23bfed8be8 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.3e. Last change: 2010 Jul 22 +*autocmd.txt* For Vim version 7.3f. Last change: 2010 Jul 22 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index d05bd1bb70..82b96cca8a 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1,4 +1,4 @@ -*change.txt* For Vim version 7.3e. Last change: 2010 Jul 29 +*change.txt* For Vim version 7.3f. Last change: 2010 Jul 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 6230148d73..2fb65cc1b0 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.3e. Last change: 2010 May 07 +*cmdline.txt* For Vim version 7.3f. Last change: 2010 May 07 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt index 74660de909..b485fd4d84 100644 --- a/runtime/doc/debug.txt +++ b/runtime/doc/debug.txt @@ -1,4 +1,4 @@ -*debug.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*debug.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt index d066111020..6f530675dd 100644 --- a/runtime/doc/debugger.txt +++ b/runtime/doc/debugger.txt @@ -1,4 +1,4 @@ -*debugger.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*debugger.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt index e47ffe42e8..3426509bf7 100644 --- a/runtime/doc/develop.txt +++ b/runtime/doc/develop.txt @@ -1,4 +1,4 @@ -*develop.txt* For Vim version 7.3e. Last change: 2008 Dec 17 +*develop.txt* For Vim version 7.3f. Last change: 2008 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 3c57d65f2b..3c37c75685 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 7.3e. Last change: 2010 Jul 31 +*diff.txt* For Vim version 7.3f. Last change: 2010 Jul 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt index 7c13d952ed..2fdd420f71 100644 --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 7.3e. Last change: 2010 Apr 11 +*digraph.txt* For Vim version 7.3f. Last change: 2010 Apr 11 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 0d76f659d1..067cecbe2e 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1,4 +1,4 @@ -*editing.txt* For Vim version 7.3e. Last change: 2010 Jul 28 +*editing.txt* For Vim version 7.3f. Last change: 2010 Jul 28 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 37a935cf01..aeff6a2c5c 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.3e. Last change: 2010 Aug 07 +*eval.txt* For Vim version 7.3f. Last change: 2010 Aug 07 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt index 2e57f3e9bb..f3cc3a46b5 100644 --- a/runtime/doc/farsi.txt +++ b/runtime/doc/farsi.txt @@ -1,4 +1,4 @@ -*farsi.txt* For Vim version 7.3e. Last change: 2010 Aug 07 +*farsi.txt* For Vim version 7.3f. Last change: 2010 Aug 07 VIM REFERENCE MANUAL by Mortaza Ghassab Shiran diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 435c842b30..4459a46164 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 7.3e. Last change: 2008 Jul 15 +*filetype.txt* For Vim version 7.3f. Last change: 2008 Jul 15 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt index 0b3f555550..3107b5fcbd 100644 --- a/runtime/doc/fold.txt +++ b/runtime/doc/fold.txt @@ -1,4 +1,4 @@ -*fold.txt* For Vim version 7.3e. Last change: 2010 May 13 +*fold.txt* For Vim version 7.3f. Last change: 2010 May 13 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt index da93c45aa7..773ad73eab 100644 --- a/runtime/doc/ft_ada.txt +++ b/runtime/doc/ft_ada.txt @@ -1,4 +1,4 @@ -*ft_ada.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*ft_ada.txt* For Vim version 7.3f. Last change: 2010 Jul 20 ADA FILE TYPE PLUG-INS REFERENCE MANUAL~ diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt index ce6da851b8..92e14094d5 100644 --- a/runtime/doc/ft_sql.txt +++ b/runtime/doc/ft_sql.txt @@ -1,4 +1,4 @@ -*ft_sql.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*ft_sql.txt* For Vim version 7.3f. Last change: 2010 Jul 20 by David Fishburn diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index 223b1b2fbf..e962832738 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1,4 +1,4 @@ -*gui.txt* For Vim version 7.3e. Last change: 2010 May 14 +*gui.txt* For Vim version 7.3f. Last change: 2010 May 14 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt index ae79296ba2..dbfcc413e0 100644 --- a/runtime/doc/gui_w16.txt +++ b/runtime/doc/gui_w16.txt @@ -1,4 +1,4 @@ -*gui_w16.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*gui_w16.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt index 874c5d3d9a..84c7fc86da 100644 --- a/runtime/doc/gui_w32.txt +++ b/runtime/doc/gui_w32.txt @@ -1,4 +1,4 @@ -*gui_w32.txt* For Vim version 7.3e. Last change: 2007 Aug 30 +*gui_w32.txt* For Vim version 7.3f. Last change: 2007 Aug 30 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt index e5d151597a..a845ac0411 100644 --- a/runtime/doc/gui_x11.txt +++ b/runtime/doc/gui_x11.txt @@ -1,4 +1,4 @@ -*gui_x11.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*gui_x11.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt index a93a9d2948..c4ddc0ab99 100644 --- a/runtime/doc/hangulin.txt +++ b/runtime/doc/hangulin.txt @@ -1,4 +1,4 @@ -*hangulin.txt* For Vim version 7.3e. Last change: 2009 Jun 24 +*hangulin.txt* For Vim version 7.3f. Last change: 2009 Jun 24 VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt index 25b22fa04d..2a1f8462b2 100644 --- a/runtime/doc/hebrew.txt +++ b/runtime/doc/hebrew.txt @@ -1,4 +1,4 @@ -*hebrew.txt* For Vim version 7.3e. Last change: 2007 Jun 14 +*hebrew.txt* For Vim version 7.3f. Last change: 2007 Jun 14 VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index a11b1192e9..8bbad5ad0a 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*help.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM - main help file k diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index afcec09c7e..3ca24c3136 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -1,4 +1,4 @@ -*helphelp.txt* For Vim version 7.3e. Last change: 2010 Jul 29 +*helphelp.txt* For Vim version 7.3f. Last change: 2010 Jul 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt index 7a5872a5b7..60f60b3d29 100644 --- a/runtime/doc/howto.txt +++ b/runtime/doc/howto.txt @@ -1,4 +1,4 @@ -*howto.txt* For Vim version 7.3e. Last change: 2006 Apr 02 +*howto.txt* For Vim version 7.3f. Last change: 2006 Apr 02 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt index 3983989ce6..557016d64e 100644 --- a/runtime/doc/if_cscop.txt +++ b/runtime/doc/if_cscop.txt @@ -1,4 +1,4 @@ -*if_cscop.txt* For Vim version 7.3e. Last change: 2009 Mar 18 +*if_cscop.txt* For Vim version 7.3f. Last change: 2009 Mar 18 VIM REFERENCE MANUAL by Andy Kahn diff --git a/runtime/doc/if_lua.txt b/runtime/doc/if_lua.txt index 6cb679358e..4162520bf1 100644 --- a/runtime/doc/if_lua.txt +++ b/runtime/doc/if_lua.txt @@ -1,4 +1,4 @@ -*if_lua.txt* For Vim version 7.3e. Last change: 2010 Jul 22 +*if_lua.txt* For Vim version 7.3f. Last change: 2010 Jul 22 VIM REFERENCE MANUAL by Luis Carvalho diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt index a0faefd81c..3cd7ce15f0 100644 --- a/runtime/doc/if_mzsch.txt +++ b/runtime/doc/if_mzsch.txt @@ -1,4 +1,4 @@ -*if_mzsch.txt* For Vim version 7.3e. Last change: 2010 Feb 11 +*if_mzsch.txt* For Vim version 7.3f. Last change: 2010 Feb 11 VIM REFERENCE MANUAL by Sergey Khorev diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt index bb2815c653..725d732062 100644 --- a/runtime/doc/if_ole.txt +++ b/runtime/doc/if_ole.txt @@ -1,4 +1,4 @@ -*if_ole.txt* For Vim version 7.3e. Last change: 2008 Aug 16 +*if_ole.txt* For Vim version 7.3f. Last change: 2008 Aug 16 VIM REFERENCE MANUAL by Paul Moore diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt index 0bfcb1d684..b7dbb275a1 100644 --- a/runtime/doc/if_perl.txt +++ b/runtime/doc/if_perl.txt @@ -1,4 +1,4 @@ -*if_perl.txt* For Vim version 7.3e. Last change: 2010 Jul 21 +*if_perl.txt* For Vim version 7.3f. Last change: 2010 Jul 21 VIM REFERENCE MANUAL by Sven Verdoolaege diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index 63f0850389..f2d480c431 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 7.3e. Last change: 2010 Jul 25 +*if_pyth.txt* For Vim version 7.3f. Last change: 2010 Jul 25 VIM REFERENCE MANUAL by Paul Moore diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt index 5a7e06b327..5b1ac69674 100644 --- a/runtime/doc/if_ruby.txt +++ b/runtime/doc/if_ruby.txt @@ -1,4 +1,4 @@ -*if_ruby.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*if_ruby.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Shugo Maeda diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt index 2e1c801646..8acfc88235 100644 --- a/runtime/doc/if_sniff.txt +++ b/runtime/doc/if_sniff.txt @@ -1,4 +1,4 @@ -*if_sniff.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*if_sniff.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt index 37bcaccb2a..2c56cb70a3 100644 --- a/runtime/doc/if_tcl.txt +++ b/runtime/doc/if_tcl.txt @@ -1,4 +1,4 @@ -*if_tcl.txt* For Vim version 7.3e. Last change: 2008 Aug 16 +*if_tcl.txt* For Vim version 7.3f. Last change: 2008 Aug 16 VIM REFERENCE MANUAL by Ingo Wilken diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt index d7e68e636e..f740ccd85f 100644 --- a/runtime/doc/indent.txt +++ b/runtime/doc/indent.txt @@ -1,4 +1,4 @@ -*indent.txt* For Vim version 7.3e. Last change: 2010 Jul 30 +*indent.txt* For Vim version 7.3f. Last change: 2010 Jul 30 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt index 797f95e184..f36956871e 100644 --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.3e. Last change: 2010 Jul 21 +*index.txt* For Vim version 7.3f. Last change: 2010 Jul 21 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index 77021b2e93..75d365deef 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.3e. Last change: 2010 Jul 29 +*insert.txt* For Vim version 7.3f. Last change: 2010 Jul 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index 8f7c694769..59bf254437 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -1,4 +1,4 @@ -*intro.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*intro.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index b4a23f7c8a..aa0721c656 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.3e. Last change: 2010 Jul 31 +*map.txt* For Vim version 7.3f. Last change: 2010 Jul 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt index c4844fa57b..cdb4fcd93d 100644 --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -1,4 +1,4 @@ -*mbyte.txt* For Vim version 7.3e. Last change: 2010 Jul 26 +*mbyte.txt* For Vim version 7.3f. Last change: 2010 Jul 26 VIM REFERENCE MANUAL by Bram Moolenaar et al. diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index fe28ad346d..fe9afbd00d 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 7.3e. Last change: 2010 Jul 26 +*message.txt* For Vim version 7.3f. Last change: 2010 Jul 26 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt index f8b048c49d..f5801e698c 100644 --- a/runtime/doc/mlang.txt +++ b/runtime/doc/mlang.txt @@ -1,4 +1,4 @@ -*mlang.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*mlang.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 085961670e..a8170cdcc1 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 7.3e. Last change: 2010 May 14 +*motion.txt* For Vim version 7.3f. Last change: 2010 May 14 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt index 97af17062d..bd94471039 100644 --- a/runtime/doc/netbeans.txt +++ b/runtime/doc/netbeans.txt @@ -1,4 +1,4 @@ -*netbeans.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*netbeans.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Gordon Prieur et al. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 6a98ddfd10..912b44552d 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3e. Last change: 2010 Aug 08 +*options.txt* For Vim version 7.3f. Last change: 2010 Aug 08 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt index 53408be59d..901bb26e83 100644 --- a/runtime/doc/os_390.txt +++ b/runtime/doc/os_390.txt @@ -1,4 +1,4 @@ -*os_390.txt* For Vim version 7.3e. Last change: 2010 May 30 +*os_390.txt* For Vim version 7.3f. Last change: 2010 May 30 VIM REFERENCE MANUAL by Ralf Schandl diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt index 9e8c1b4499..4008323bf6 100644 --- a/runtime/doc/os_amiga.txt +++ b/runtime/doc/os_amiga.txt @@ -1,4 +1,4 @@ -*os_amiga.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_amiga.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt index 84a5e9aacf..a85d6a37f2 100644 --- a/runtime/doc/os_beos.txt +++ b/runtime/doc/os_beos.txt @@ -1,4 +1,4 @@ -*os_beos.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_beos.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt index f81a4b3a28..295dff4b4c 100644 --- a/runtime/doc/os_dos.txt +++ b/runtime/doc/os_dos.txt @@ -1,4 +1,4 @@ -*os_dos.txt* For Vim version 7.3e. Last change: 2006 Mar 30 +*os_dos.txt* For Vim version 7.3f. Last change: 2006 Mar 30 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt index 1b81bb38fd..6eec08cbf1 100644 --- a/runtime/doc/os_mac.txt +++ b/runtime/doc/os_mac.txt @@ -1,4 +1,4 @@ -*os_mac.txt* For Vim version 7.3e. Last change: 2006 Apr 30 +*os_mac.txt* For Vim version 7.3f. Last change: 2006 Apr 30 VIM REFERENCE MANUAL by Bram Moolenaar et al. diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt index 8531d85077..6f163f1a60 100644 --- a/runtime/doc/os_mint.txt +++ b/runtime/doc/os_mint.txt @@ -1,4 +1,4 @@ -*os_mint.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_mint.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Jens M. Felderhoff diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt index bba05cf6b4..92ae021a3a 100644 --- a/runtime/doc/os_msdos.txt +++ b/runtime/doc/os_msdos.txt @@ -1,4 +1,4 @@ -*os_msdos.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_msdos.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt index 60e0c09e91..6bdce98453 100644 --- a/runtime/doc/os_os2.txt +++ b/runtime/doc/os_os2.txt @@ -1,4 +1,4 @@ -*os_os2.txt* For Vim version 7.3e. Last change: 2007 Apr 22 +*os_os2.txt* For Vim version 7.3f. Last change: 2007 Apr 22 VIM REFERENCE MANUAL by Paul Slootman diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt index 50c11cef79..1cefd96901 100644 --- a/runtime/doc/os_qnx.txt +++ b/runtime/doc/os_qnx.txt @@ -1,4 +1,4 @@ -*os_qnx.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_qnx.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Julian Kinraid diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt index 24187d8524..a11b7917da 100644 --- a/runtime/doc/os_risc.txt +++ b/runtime/doc/os_risc.txt @@ -1,4 +1,4 @@ -*os_risc.txt* For Vim version 7.3e. Last change: 2010 Aug 07 +*os_risc.txt* For Vim version 7.3f. Last change: 2010 Aug 07 VIM REFERENCE MANUAL by Thomas Leonard diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt index ae459dc5c8..37c073c983 100644 --- a/runtime/doc/os_unix.txt +++ b/runtime/doc/os_unix.txt @@ -1,4 +1,4 @@ -*os_unix.txt* For Vim version 7.3e. Last change: 2005 Mar 29 +*os_unix.txt* For Vim version 7.3f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt index 2eecb1afaa..035662a21a 100644 --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -1,4 +1,4 @@ -*os_vms.txt* For Vim version 7.3e. Last change: 2010 Jul 28 +*os_vms.txt* For Vim version 7.3f. Last change: 2010 Jul 28 VIM REFERENCE MANUAL diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 403f05e88d..f42956e7e9 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -1,4 +1,4 @@ -*os_win32.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*os_win32.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by George Reilly diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index c920dc00db..65a9a6315d 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*pattern.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt index 45629a980c..541ca40ce3 100644 --- a/runtime/doc/pi_getscript.txt +++ b/runtime/doc/pi_getscript.txt @@ -1,4 +1,4 @@ -*pi_getscript.txt* For Vim version 7.3e. Last change: 2009 Oct 14 +*pi_getscript.txt* For Vim version 7.3f. Last change: 2009 Oct 14 > GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr. < diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt index 00e2f1e7cf..5d8af83b6c 100644 --- a/runtime/doc/pi_gzip.txt +++ b/runtime/doc/pi_gzip.txt @@ -1,4 +1,4 @@ -*pi_gzip.txt* For Vim version 7.3e. Last change: 2002 Oct 29 +*pi_gzip.txt* For Vim version 7.3f. Last change: 2002 Oct 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index ecbb6ac82a..4dc1e4a9f7 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.3e. Last change: 2010 Jul 28 +*pi_netrw.txt* For Vim version 7.3f. Last change: 2010 Jul 28 ----------------------------------------------------- NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt index aeefc56d18..eb9e511966 100644 --- a/runtime/doc/pi_paren.txt +++ b/runtime/doc/pi_paren.txt @@ -1,4 +1,4 @@ -*pi_paren.txt* For Vim version 7.3e. Last change: 2008 Jun 16 +*pi_paren.txt* For Vim version 7.3f. Last change: 2008 Jun 16 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt index 167372cc02..3a4bf79e6f 100644 --- a/runtime/doc/pi_spec.txt +++ b/runtime/doc/pi_spec.txt @@ -1,4 +1,4 @@ -*pi_spec.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*pi_spec.txt* For Vim version 7.3f. Last change: 2006 Apr 24 by Gustavo Niemeyer ~ diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt index 5b526370fd..88a25e9060 100644 --- a/runtime/doc/pi_tar.txt +++ b/runtime/doc/pi_tar.txt @@ -1,4 +1,4 @@ -*pi_tar.txt* For Vim version 7.3e. Last change: 2010 Jul 27 +*pi_tar.txt* For Vim version 7.3f. Last change: 2010 Jul 27 +====================+ | Tar File Interface | diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt index 47962e6d2a..f38b69aa90 100644 --- a/runtime/doc/pi_vimball.txt +++ b/runtime/doc/pi_vimball.txt @@ -1,4 +1,4 @@ -*pi_vimball.txt* For Vim version 7.3e. Last change: 2010 Apr 12 +*pi_vimball.txt* For Vim version 7.3f. Last change: 2010 Apr 12 ---------------- Vimball Archiver diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt index 6e69c78f6c..0463c6de02 100644 --- a/runtime/doc/pi_zip.txt +++ b/runtime/doc/pi_zip.txt @@ -1,4 +1,4 @@ -*pi_zip.txt* For Vim version 7.3e. Last change: 2010 Apr 12 +*pi_zip.txt* For Vim version 7.3f. Last change: 2010 Apr 12 +====================+ | Zip File Interface | diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt index 415b01d918..982688cf64 100644 --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -1,4 +1,4 @@ -*print.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*print.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index c75e8148ab..fb9cbd552c 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*quickfix.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 3fe744a39e..02da35da0c 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.3e. Last change: 2010 Jul 24 +*quickref.txt* For Vim version 7.3f. Last change: 2010 Jul 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt index a21126154b..9860b0b80b 100644 --- a/runtime/doc/quotes.txt +++ b/runtime/doc/quotes.txt @@ -1,4 +1,4 @@ -*quotes.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*quotes.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt index a3faa40bd4..844ff73a5f 100644 --- a/runtime/doc/recover.txt +++ b/runtime/doc/recover.txt @@ -1,4 +1,4 @@ -*recover.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*recover.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt index e2afb0d107..c708a22ef0 100644 --- a/runtime/doc/remote.txt +++ b/runtime/doc/remote.txt @@ -1,4 +1,4 @@ -*remote.txt* For Vim version 7.3e. Last change: 2008 May 24 +*remote.txt* For Vim version 7.3f. Last change: 2008 May 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index 8f7ace9ca9..73ee38e4e2 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.3e. Last change: 2009 Nov 04 +*repeat.txt* For Vim version 7.3f. Last change: 2009 Nov 04 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt index 919e47d6dd..937b31cb6b 100644 --- a/runtime/doc/rileft.txt +++ b/runtime/doc/rileft.txt @@ -1,4 +1,4 @@ -*rileft.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*rileft.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Avner Lottem diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt index f73d519e93..49863bebf3 100644 --- a/runtime/doc/russian.txt +++ b/runtime/doc/russian.txt @@ -1,4 +1,4 @@ -*russian.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*russian.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Vassily Ragosin diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt index eda4fd65a4..ca832ccddf 100644 --- a/runtime/doc/scroll.txt +++ b/runtime/doc/scroll.txt @@ -1,4 +1,4 @@ -*scroll.txt* For Vim version 7.3e. Last change: 2006 Aug 27 +*scroll.txt* For Vim version 7.3f. Last change: 2006 Aug 27 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt index 2c1a543f5b..1fb296f777 100644 --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -1,4 +1,4 @@ -*sign.txt* For Vim version 7.3e. Last change: 2010 May 07 +*sign.txt* For Vim version 7.3f. Last change: 2010 May 07 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index d99a616d40..9382acff5d 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.3e. Last change: 2010 Apr 11 +*spell.txt* For Vim version 7.3f. Last change: 2010 Apr 11 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt index 1db7cae41b..5ea23563d7 100644 --- a/runtime/doc/sponsor.txt +++ b/runtime/doc/sponsor.txt @@ -1,4 +1,4 @@ -*sponsor.txt* For Vim version 7.3e. Last change: 2008 Jun 21 +*sponsor.txt* For Vim version 7.3f. Last change: 2008 Jun 21 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index eab4beeb06..3a0dc28d26 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.3e. Last change: 2009 Dec 31 +*starting.txt* For Vim version 7.3f. Last change: 2009 Dec 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 9a65d814dc..03e4faa6cc 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.3e. Last change: 2010 Aug 08 +*syntax.txt* For Vim version 7.3f. Last change: 2010 Aug 08 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt index 685072cf3c..e9616b159e 100644 --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -1,4 +1,4 @@ -*tabpage.txt* For Vim version 7.3e. Last change: 2010 Jul 31 +*tabpage.txt* For Vim version 7.3f. Last change: 2010 Jul 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt index fd09bee6cf..e10977fd7f 100644 --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -1,4 +1,4 @@ -*tagsrch.txt* For Vim version 7.3e. Last change: 2009 Feb 18 +*tagsrch.txt* For Vim version 7.3f. Last change: 2009 Feb 18 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt index 85f340acce..a42f103cb1 100644 --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -1,4 +1,4 @@ -*term.txt* For Vim version 7.3e. Last change: 2009 Nov 05 +*term.txt* For Vim version 7.3f. Last change: 2009 Nov 05 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt index d54c92db07..a0468b3540 100644 --- a/runtime/doc/tips.txt +++ b/runtime/doc/tips.txt @@ -1,4 +1,4 @@ -*tips.txt* For Vim version 7.3e. Last change: 2009 Nov 07 +*tips.txt* For Vim version 7.3f. Last change: 2009 Nov 07 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 324993b954..5a1710312f 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3e. Last change: 2010 Aug 08 +*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 08 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt index ab540ddf00..0589c5fb4e 100644 --- a/runtime/doc/uganda.txt +++ b/runtime/doc/uganda.txt @@ -1,4 +1,4 @@ -*uganda.txt* For Vim version 7.3e. Last change: 2010 Aug 07 +*uganda.txt* For Vim version 7.3f. Last change: 2010 Aug 07 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt index 96234f4a68..c9477c5d52 100644 --- a/runtime/doc/undo.txt +++ b/runtime/doc/undo.txt @@ -1,4 +1,4 @@ -*undo.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*undo.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt index 02a77e9525..ac89eaf403 100644 --- a/runtime/doc/usr_01.txt +++ b/runtime/doc/usr_01.txt @@ -1,4 +1,4 @@ -*usr_01.txt* For Vim version 7.3e. Last change: 2008 May 07 +*usr_01.txt* For Vim version 7.3f. Last change: 2008 May 07 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt index 5dc4a080af..7d983aa0c3 100644 --- a/runtime/doc/usr_02.txt +++ b/runtime/doc/usr_02.txt @@ -1,4 +1,4 @@ -*usr_02.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*usr_02.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt index a26530b9da..0ef9bfa47e 100644 --- a/runtime/doc/usr_03.txt +++ b/runtime/doc/usr_03.txt @@ -1,4 +1,4 @@ -*usr_03.txt* For Vim version 7.3e. Last change: 2006 Jun 21 +*usr_03.txt* For Vim version 7.3f. Last change: 2006 Jun 21 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt index 02da2c6c70..fdf09b6ab2 100644 --- a/runtime/doc/usr_04.txt +++ b/runtime/doc/usr_04.txt @@ -1,4 +1,4 @@ -*usr_04.txt* For Vim version 7.3e. Last change: 2008 Sep 06 +*usr_04.txt* For Vim version 7.3f. Last change: 2008 Sep 06 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index c39b2af4f0..4cacf5f69b 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -1,4 +1,4 @@ -*usr_05.txt* For Vim version 7.3e. Last change: 2009 Jun 04 +*usr_05.txt* For Vim version 7.3f. Last change: 2009 Jun 04 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt index c5c0df8027..9e236a042a 100644 --- a/runtime/doc/usr_06.txt +++ b/runtime/doc/usr_06.txt @@ -1,4 +1,4 @@ -*usr_06.txt* For Vim version 7.3e. Last change: 2009 Oct 28 +*usr_06.txt* For Vim version 7.3f. Last change: 2009 Oct 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt index 8de98c880c..640fd177be 100644 --- a/runtime/doc/usr_07.txt +++ b/runtime/doc/usr_07.txt @@ -1,4 +1,4 @@ -*usr_07.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*usr_07.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt index 47a22920ce..d2a575fd5e 100644 --- a/runtime/doc/usr_08.txt +++ b/runtime/doc/usr_08.txt @@ -1,4 +1,4 @@ -*usr_08.txt* For Vim version 7.3e. Last change: 2006 Jul 18 +*usr_08.txt* For Vim version 7.3f. Last change: 2006 Jul 18 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt index f46ab8438d..87c2d8225f 100644 --- a/runtime/doc/usr_09.txt +++ b/runtime/doc/usr_09.txt @@ -1,4 +1,4 @@ -*usr_09.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*usr_09.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt index 2021796f4a..921157b947 100644 --- a/runtime/doc/usr_10.txt +++ b/runtime/doc/usr_10.txt @@ -1,4 +1,4 @@ -*usr_10.txt* For Vim version 7.3e. Last change: 2006 Nov 05 +*usr_10.txt* For Vim version 7.3f. Last change: 2006 Nov 05 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt index eb4b855bbe..49bafe1ca3 100644 --- a/runtime/doc/usr_11.txt +++ b/runtime/doc/usr_11.txt @@ -1,4 +1,4 @@ -*usr_11.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*usr_11.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt index a610bbd4f3..2132bc8929 100644 --- a/runtime/doc/usr_12.txt +++ b/runtime/doc/usr_12.txt @@ -1,4 +1,4 @@ -*usr_12.txt* For Vim version 7.3e. Last change: 2007 May 11 +*usr_12.txt* For Vim version 7.3f. Last change: 2007 May 11 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt index e353ba7895..a5794e67c7 100644 --- a/runtime/doc/usr_20.txt +++ b/runtime/doc/usr_20.txt @@ -1,4 +1,4 @@ -*usr_20.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*usr_20.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt index 6b59242f72..21727079f4 100644 --- a/runtime/doc/usr_21.txt +++ b/runtime/doc/usr_21.txt @@ -1,4 +1,4 @@ -*usr_21.txt* For Vim version 7.3e. Last change: 2008 Nov 09 +*usr_21.txt* For Vim version 7.3f. Last change: 2008 Nov 09 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt index 9ea2acdff6..3dd2b2917f 100644 --- a/runtime/doc/usr_22.txt +++ b/runtime/doc/usr_22.txt @@ -1,4 +1,4 @@ -*usr_22.txt* For Vim version 7.3e. Last change: 2010 Feb 21 +*usr_22.txt* For Vim version 7.3f. Last change: 2010 Feb 21 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt index 6c20d75c37..f67332532f 100644 --- a/runtime/doc/usr_23.txt +++ b/runtime/doc/usr_23.txt @@ -1,4 +1,4 @@ -*usr_23.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*usr_23.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_24.txt b/runtime/doc/usr_24.txt index c93762df25..3df7d94361 100644 --- a/runtime/doc/usr_24.txt +++ b/runtime/doc/usr_24.txt @@ -1,4 +1,4 @@ -*usr_24.txt* For Vim version 7.3e. Last change: 2006 Jul 23 +*usr_24.txt* For Vim version 7.3f. Last change: 2006 Jul 23 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt index b8b386181d..729d6e06e1 100644 --- a/runtime/doc/usr_25.txt +++ b/runtime/doc/usr_25.txt @@ -1,4 +1,4 @@ -*usr_25.txt* For Vim version 7.3e. Last change: 2007 May 11 +*usr_25.txt* For Vim version 7.3f. Last change: 2007 May 11 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt index 778de99815..c5f6407278 100644 --- a/runtime/doc/usr_26.txt +++ b/runtime/doc/usr_26.txt @@ -1,4 +1,4 @@ -*usr_26.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*usr_26.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt index 0525601a0f..3b1684dbaf 100644 --- a/runtime/doc/usr_27.txt +++ b/runtime/doc/usr_27.txt @@ -1,4 +1,4 @@ -*usr_27.txt* For Vim version 7.3e. Last change: 2010 Mar 28 +*usr_27.txt* For Vim version 7.3f. Last change: 2010 Mar 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt index 7021cfd0df..db0f7f8dd7 100644 --- a/runtime/doc/usr_28.txt +++ b/runtime/doc/usr_28.txt @@ -1,4 +1,4 @@ -*usr_28.txt* For Vim version 7.3e. Last change: 2008 Jun 14 +*usr_28.txt* For Vim version 7.3f. Last change: 2008 Jun 14 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt index 40b57332d6..732a5c378b 100644 --- a/runtime/doc/usr_29.txt +++ b/runtime/doc/usr_29.txt @@ -1,4 +1,4 @@ -*usr_29.txt* For Vim version 7.3e. Last change: 2008 Jun 28 +*usr_29.txt* For Vim version 7.3f. Last change: 2008 Jun 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt index 1063bc39d9..346d759fe6 100644 --- a/runtime/doc/usr_30.txt +++ b/runtime/doc/usr_30.txt @@ -1,4 +1,4 @@ -*usr_30.txt* For Vim version 7.3e. Last change: 2007 Nov 10 +*usr_30.txt* For Vim version 7.3f. Last change: 2007 Nov 10 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt index 705a877dc4..b4cffdb2b6 100644 --- a/runtime/doc/usr_31.txt +++ b/runtime/doc/usr_31.txt @@ -1,4 +1,4 @@ -*usr_31.txt* For Vim version 7.3e. Last change: 2007 May 08 +*usr_31.txt* For Vim version 7.3f. Last change: 2007 May 08 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt index 31e254d7b4..a60aa1f622 100644 --- a/runtime/doc/usr_32.txt +++ b/runtime/doc/usr_32.txt @@ -1,4 +1,4 @@ -*usr_32.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*usr_32.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt index 91ef649c34..aa79503973 100644 --- a/runtime/doc/usr_40.txt +++ b/runtime/doc/usr_40.txt @@ -1,4 +1,4 @@ -*usr_40.txt* For Vim version 7.3e. Last change: 2006 Jun 21 +*usr_40.txt* For Vim version 7.3f. Last change: 2006 Jun 21 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 84b323b9c2..c77454466d 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*usr_41.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt index 43a5102c3d..73cbfb2981 100644 --- a/runtime/doc/usr_42.txt +++ b/runtime/doc/usr_42.txt @@ -1,4 +1,4 @@ -*usr_42.txt* For Vim version 7.3e. Last change: 2008 May 05 +*usr_42.txt* For Vim version 7.3f. Last change: 2008 May 05 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt index 5c55e56aa1..4b561b828b 100644 --- a/runtime/doc/usr_43.txt +++ b/runtime/doc/usr_43.txt @@ -1,4 +1,4 @@ -*usr_43.txt* For Vim version 7.3e. Last change: 2008 Dec 28 +*usr_43.txt* For Vim version 7.3f. Last change: 2008 Dec 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt index 8f3670be04..ba463cb21f 100644 --- a/runtime/doc/usr_44.txt +++ b/runtime/doc/usr_44.txt @@ -1,4 +1,4 @@ -*usr_44.txt* For Vim version 7.3e. Last change: 2008 Dec 28 +*usr_44.txt* For Vim version 7.3f. Last change: 2008 Dec 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt index c7e1cf8ec1..732f6e70a0 100644 --- a/runtime/doc/usr_45.txt +++ b/runtime/doc/usr_45.txt @@ -1,4 +1,4 @@ -*usr_45.txt* For Vim version 7.3e. Last change: 2008 Nov 15 +*usr_45.txt* For Vim version 7.3f. Last change: 2008 Nov 15 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt index 087be55bc0..b8d76ef850 100644 --- a/runtime/doc/usr_90.txt +++ b/runtime/doc/usr_90.txt @@ -1,4 +1,4 @@ -*usr_90.txt* For Vim version 7.3e. Last change: 2008 Sep 10 +*usr_90.txt* For Vim version 7.3f. Last change: 2008 Sep 10 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt index 2f1c623af9..451398f878 100644 --- a/runtime/doc/usr_toc.txt +++ b/runtime/doc/usr_toc.txt @@ -1,4 +1,4 @@ -*usr_toc.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*usr_toc.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 4aad418ccc..897d091125 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.3e. Last change: 2010 Aug 01 +*various.txt* For Vim version 7.3f. Last change: 2010 Aug 01 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt index d5a22747c2..01f02409f3 100644 --- a/runtime/doc/version4.txt +++ b/runtime/doc/version4.txt @@ -1,4 +1,4 @@ -*version4.txt* For Vim version 7.3e. Last change: 2006 Apr 24 +*version4.txt* For Vim version 7.3f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt index 3b4c45f9ee..46fbfd880b 100644 --- a/runtime/doc/version5.txt +++ b/runtime/doc/version5.txt @@ -1,4 +1,4 @@ -*version5.txt* For Vim version 7.3e. Last change: 2008 Dec 17 +*version5.txt* For Vim version 7.3f. Last change: 2008 Dec 17 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt index 8475d6ca17..ae4133ef21 100644 --- a/runtime/doc/version6.txt +++ b/runtime/doc/version6.txt @@ -1,4 +1,4 @@ -*version6.txt* For Vim version 7.3e. Last change: 2008 Aug 06 +*version6.txt* For Vim version 7.3f. Last change: 2008 Aug 06 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index baf2dd419a..c26f041821 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.3e. Last change: 2010 Aug 08 +*version7.txt* For Vim version 7.3f. Last change: 2010 Aug 08 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt index c8500ba22f..e7ae7845ee 100644 --- a/runtime/doc/vi_diff.txt +++ b/runtime/doc/vi_diff.txt @@ -1,4 +1,4 @@ -*vi_diff.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*vi_diff.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt index f19b4d95b6..6c1f1a8511 100644 --- a/runtime/doc/visual.txt +++ b/runtime/doc/visual.txt @@ -1,4 +1,4 @@ -*visual.txt* For Vim version 7.3e. Last change: 2010 Feb 17 +*visual.txt* For Vim version 7.3f. Last change: 2010 Feb 17 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index 50b7b18cda..eb456dbc7d 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1,4 +1,4 @@ -*windows.txt* For Vim version 7.3e. Last change: 2010 Apr 12 +*windows.txt* For Vim version 7.3f. Last change: 2010 Apr 12 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt index c780ec4fec..35b61e31cc 100644 --- a/runtime/doc/workshop.txt +++ b/runtime/doc/workshop.txt @@ -1,4 +1,4 @@ -*workshop.txt* For Vim version 7.3e. Last change: 2010 Jul 20 +*workshop.txt* For Vim version 7.3f. Last change: 2010 Jul 20 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg index 4091a2a925..025975c366 100644 --- a/src/GvimExt/GvimExt.reg +++ b/src/GvimExt/GvimExt.reg @@ -15,6 +15,6 @@ REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Vim\Gvim] "path"="gvim.exe" -[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.3e] - "DisplayName"="Vim 7.3e: Edit with Vim popup menu entry" +[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.3f] + "DisplayName"="Vim 7.3f: Edit with Vim popup menu entry" "UninstallString"="uninstal.exe" diff --git a/src/Makefile b/src/Makefile index ba911666e8..43153781a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -930,7 +930,7 @@ MAN1DIR = /man1 ### Vim version (adjusted by a script) VIMMAJOR = 7 -VIMMINOR = 3e +VIMMINOR = 3f ### Location of Vim files (should not need to be changed, and {{{1 ### some things might not work when they are changed!) diff --git a/src/version.h b/src/version.h index a9f41635f2..17454c1d7f 100644 --- a/src/version.h +++ b/src/version.h @@ -19,9 +19,9 @@ #define VIM_VERSION_MINOR_STR "3" #define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR) -#define VIM_VERSION_BUILD 274 -#define VIM_VERSION_BUILD_BCD 0x112 -#define VIM_VERSION_BUILD_STR "274" +#define VIM_VERSION_BUILD 275 +#define VIM_VERSION_BUILD_BCD 0x113 +#define VIM_VERSION_BUILD_STR "275" #define VIM_VERSION_PATCHLEVEL 0 #define VIM_VERSION_PATCHLEVEL_STR "0" /* Used by MacOS port should be one of: development, alpha, beta, final */ @@ -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 "vim73e" -#define VIM_VERSION_SHORT "7.3e" -#define VIM_VERSION_MEDIUM "7.3e BETA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3e BETA (2010 Aug 8)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3e BETA (2010 Aug 8, compiled " +#define VIM_VERSION_NODOT "vim73f" +#define VIM_VERSION_SHORT "7.3f" +#define VIM_VERSION_MEDIUM "7.3f BETA" +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3f BETA (2010 Aug 9)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3f BETA (2010 Aug 9, compiled " diff --git a/src/vim.def b/src/vim.def index bf3cc7c8ec..cf77c79fac 100644 --- a/src/vim.def +++ b/src/vim.def @@ -1,4 +1,4 @@ CODE PRELOAD EXECUTEONLY DATA MULTIPLE SHARED -DESCRIPTION 'Vim 7.3e' +DESCRIPTION 'Vim 7.3f' HEAPSIZE 0,0 diff --git a/src/vim16.def b/src/vim16.def index 8770aa305b..bc2c407823 100644 --- a/src/vim16.def +++ b/src/vim16.def @@ -1,5 +1,5 @@ CODE PRELOAD EXECUTEONLY DATA MULTIPLE SHARED -DESCRIPTION 'Vim 7.3e' +DESCRIPTION 'Vim 7.3f' STACKSIZE 16000 HEAPSIZE 10000 From a6abdcd2d89b2a9e7c44de63859d3bee789457d5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 22:06:13 +0200 Subject: [PATCH 03/35] When building with both Python 2 and Python 3 don't use RTLD_GLOBAL, so that both may work. --HG-- branch : vim73 --- src/Makefile | 2 ++ src/if_python.c | 52 ++++++++++++++++------------- src/if_python3.c | 85 ++++++++++++++++++++++++++---------------------- 3 files changed, 79 insertions(+), 60 deletions(-) diff --git a/src/Makefile b/src/Makefile index 43153781a1..4a66bfad5a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -408,6 +408,8 @@ CClink = $(CC) # ln -s python3 python3.1 # If both python2.x and python3.x are enabled then the linking will be via # dlopen(), dlsym(), dlclose(), i.e. pythonX.Y.so must be available +# However, this may still cause problems, such as "import termios" failing. +# Build two separate versions of Vim in that case. #CONF_OPT_PYTHON = --enable-pythoninterp #CONF_OPT_PYTHON3 = --enable-python3interp diff --git a/src/if_python.c b/src/if_python.c index c7c67a81ea..8a28f8bd4e 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -93,32 +93,38 @@ struct PyMethodDef { Py_ssize_t a; }; # define PY_CAN_RECURSE #endif -#if defined(DYNAMIC_PYTHON) || defined(PROTO) -# ifndef DYNAMIC_PYTHON -# define HINSTANCE long_u /* for generating prototypes */ -# endif +# if defined(DYNAMIC_PYTHON) || defined(PROTO) +# ifndef DYNAMIC_PYTHON +# define HINSTANCE long_u /* for generating prototypes */ +# endif -#ifndef WIN3264 -# include -# define FARPROC void* -# define HINSTANCE void* -# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) -# define close_dll dlclose -# define symbol_from_dll dlsym -#else -# define load_dll LoadLibrary -# define close_dll FreeLibrary -# define symbol_from_dll GetProcAddress -#endif +# ifndef WIN3264 +# include +# define FARPROC void* +# define HINSTANCE void* +# ifdef FEAT_PYTHON3 + /* Don't use RTLD_GLOBAL, it may cause a crash if both :python and :py3 are + * used. But without it importing may fail, e.g., for termios. */ +# define load_dll(n) dlopen((n), RTLD_LAZY) +# else +# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +# endif +# define close_dll dlclose +# define symbol_from_dll dlsym +# else +# define load_dll LoadLibrary +# define close_dll FreeLibrary +# define symbol_from_dll GetProcAddress +# endif /* This makes if_python.c compile without warnings against Python 2.5 * on Win32 and Win64. */ -#undef PyRun_SimpleString -#undef PyArg_Parse -#undef PyArg_ParseTuple -#undef Py_BuildValue -#undef Py_InitModule4 -#undef Py_InitModule4_64 +# undef PyRun_SimpleString +# undef PyArg_Parse +# undef PyArg_ParseTuple +# undef Py_BuildValue +# undef Py_InitModule4 +# undef Py_InitModule4_64 /* * Wrapper defines @@ -345,6 +351,7 @@ python_runtime_link_init(char *libname, int verbose) { int i; +#if 0 /* this should be OK now that we don't use RTLD_GLOBAL */ #if defined(UNIX) && defined(FEAT_PYTHON3) /* Can't have Python and Python3 loaded at the same time, it may cause a * crash. */ @@ -353,6 +360,7 @@ python_runtime_link_init(char *libname, int verbose) EMSG(_("E999: Python: Cannot use :py and :py3 in one session")); return FAIL; } +#endif #endif if (hinstPython) diff --git a/src/if_python3.c b/src/if_python3.c index b2c2ba3bac..3b8948828f 100644 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -76,24 +76,30 @@ static void init_structs(void); #if defined(DYNAMIC_PYTHON3) -#ifndef WIN3264 -#include -#define FARPROC void* -#define HINSTANCE void* -#define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) -#define close_dll dlclose -#define symbol_from_dll dlsym -#else -#define load_dll LoadLibrary -#define close_dll FreeLibrary -#define symbol_from_dll GetProcAddress -#endif +# ifndef WIN3264 +# include +# define FARPROC void* +# define HINSTANCE void* +# ifdef FEAT_PYTHON + /* Don't use RTLD_GLOBAL, it may cause a crash if both :python and :py3 are + * used. But without it importing may fail, e.g., for termios. */ +# define load_dll(n) dlopen((n), RTLD_LAZY) +# else +# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +# endif +# define close_dll dlclose +# define symbol_from_dll dlsym +# else +# define load_dll LoadLibrary +# define close_dll FreeLibrary +# define symbol_from_dll GetProcAddress +# endif /* * Wrapper defines */ -#undef PyArg_Parse +# undef PyArg_Parse # define PyArg_Parse py3_PyArg_Parse -#undef PyArg_ParseTuple +# undef PyArg_ParseTuple # define PyArg_ParseTuple py3_PyArg_ParseTuple # define PyDict_SetItemString py3_PyDict_SetItemString # define PyErr_BadArgument py3_PyErr_BadArgument @@ -137,30 +143,31 @@ static void init_structs(void); # define _PyUnicode_AsString py3__PyUnicode_AsString # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr # define PySlice_Type (*py3_PySlice_Type) -#ifdef Py_DEBUG - # define _Py_NegativeRefcount py3__Py_NegativeRefcount - # define _Py_RefTotal (*py3__Py_RefTotal) - # define _Py_Dealloc py3__Py_Dealloc - # define _PyObject_DebugMalloc py3__PyObject_DebugMalloc - # define _PyObject_DebugFree py3__PyObject_DebugFree -#else - # define PyObject_Malloc py3_PyObject_Malloc - # define PyObject_Free py3_PyObject_Free -#endif +# ifdef Py_DEBUG +# define _Py_NegativeRefcount py3__Py_NegativeRefcount +# define _Py_RefTotal (*py3__Py_RefTotal) +# define _Py_Dealloc py3__Py_Dealloc +# define _PyObject_DebugMalloc py3__PyObject_DebugMalloc +# define _PyObject_DebugFree py3__PyObject_DebugFree +# else +# define PyObject_Malloc py3_PyObject_Malloc +# define PyObject_Free py3_PyObject_Free +# endif # define PyType_GenericAlloc py3_PyType_GenericAlloc # define PyType_GenericNew py3_PyType_GenericNew # define PyModule_Create2 py3_PyModule_Create2 -#undef PyUnicode_FromString +# undef PyUnicode_FromString # define PyUnicode_FromString py3_PyUnicode_FromString -#undef PyUnicode_FromStringAndSize +# undef PyUnicode_FromStringAndSize # define PyUnicode_FromStringAndSize py3_PyUnicode_FromStringAndSize -#ifdef Py_DEBUG -#undef PyObject_NEW -#define PyObject_NEW(type, typeobj) \ +# ifdef Py_DEBUG +# undef PyObject_NEW +# define PyObject_NEW(type, typeobj) \ ( (type *) PyObject_Init( \ (PyObject *) _PyObject_DebugMalloc( _PyObject_SIZE(typeobj) ), (typeobj)) ) -#endif +# endif + /* * Pointers for dynamic link */ @@ -212,16 +219,16 @@ static PyObject* (*py3_PyModule_Create2)(struct PyModuleDef* module, int module_ static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems); static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds); static PyTypeObject* py3_PySlice_Type; -#ifdef Py_DEBUG +# ifdef Py_DEBUG static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op); static Py_ssize_t* py3__Py_RefTotal; static void (*py3__Py_Dealloc)(PyObject *obj); static void (*py3__PyObject_DebugFree)(void*); static void* (*py3__PyObject_DebugMalloc)(size_t); -#else +# else static void (*py3_PyObject_Free)(void*); static void* (*py3_PyObject_Malloc)(size_t); -#endif +# endif static HINSTANCE hinstPy3 = 0; /* Instance of python.dll */ @@ -294,16 +301,16 @@ static struct {"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc}, {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew}, {"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type}, -#ifdef Py_DEBUG +# ifdef Py_DEBUG {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount}, {"_Py_RefTotal", (PYTHON_PROC*)&py3__Py_RefTotal}, {"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc}, {"_PyObject_DebugFree", (PYTHON_PROC*)&py3__PyObject_DebugFree}, {"_PyObject_DebugMalloc", (PYTHON_PROC*)&py3__PyObject_DebugMalloc}, -#else +# else {"PyObject_Malloc", (PYTHON_PROC*)&py3_PyObject_Malloc}, {"PyObject_Free", (PYTHON_PROC*)&py3_PyObject_Free}, -#endif +# endif {"", NULL}, }; @@ -331,7 +338,8 @@ py3_runtime_link_init(char *libname, int verbose) int i; void *ucs_from_string, *ucs_from_string_and_size; -#if defined(UNIX) && defined(FEAT_PYTHON) +# if 0 /* this should be OK now that we don't use RTLD_GLOBAL */ +# if defined(UNIX) && defined(FEAT_PYTHON) /* Can't have Python and Python3 loaded at the same time, it may cause a * crash. */ if (python_loaded()) @@ -339,7 +347,8 @@ py3_runtime_link_init(char *libname, int verbose) EMSG(_("E999: Python: Cannot use :py and :py3 in one session")); return FAIL; } -#endif +# endif +# endif if (hinstPy3 != 0) return OK; From 95f9912a7c03eece3398022ba1565580960ee397 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 22:07:08 +0200 Subject: [PATCH 04/35] Fix for float values on VMS. (Zoltan Arpadffy) --HG-- branch : vim73 --- src/eval.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/eval.c b/src/eval.c index 5dfb7f2266..6d6f9b40cd 100644 --- a/src/eval.c +++ b/src/eval.c @@ -22,6 +22,10 @@ # include /* for strftime() */ #endif +#ifdef VMS +# include +#endif + #ifdef MACOS # include /* for time_t */ #endif @@ -4807,11 +4811,11 @@ eval6(arg, rettv, evaluate, want_string) if (f2 == 0.0) { if (f1 == 0) - f1 = -0x7fffffffL - 1L; /* similar to NaN */ + f1 = -1 * __F_FLT_MAX - 1L; /* similar to NaN */ else if (f1 < 0) - f1 = -0x7fffffffL; + f1 = -1 * __F_FLT_MAX; else - f1 = 0x7fffffffL; + f1 = __F_FLT_MAX; } else f1 = f1 / f2; From aecbe728cafc9c6b642bfc8848f6b531a624231c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 22:14:48 +0200 Subject: [PATCH 05/35] Fix: :ltag command did not set w:quickfix_title. (Lech Lorens) --HG-- branch : vim73 --- src/eval.c | 2 +- src/proto/quickfix.pro | 2 +- src/quickfix.c | 7 ++++--- src/tag.c | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/eval.c b/src/eval.c index 6d6f9b40cd..fc01006f2e 100644 --- a/src/eval.c +++ b/src/eval.c @@ -15824,7 +15824,7 @@ set_qf_ll_list(wp, list_arg, action_arg, rettv) action = *act; } - if (l != NULL && set_errorlist(wp, l, action) == OK) + if (l != NULL && set_errorlist(wp, l, action, NULL) == OK) rettv->vval.v_number = 0; } #endif diff --git a/src/proto/quickfix.pro b/src/proto/quickfix.pro index 65ef438db4..a5c690f646 100644 --- a/src/proto/quickfix.pro +++ b/src/proto/quickfix.pro @@ -23,7 +23,7 @@ void ex_cfile __ARGS((exarg_T *eap)); void ex_vimgrep __ARGS((exarg_T *eap)); char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags)); int get_errorlist __ARGS((win_T *wp, list_T *list)); -int set_errorlist __ARGS((win_T *wp, list_T *list, int action)); +int set_errorlist __ARGS((win_T *wp, list_T *list, int action, char_u *title)); void ex_cbuffer __ARGS((exarg_T *eap)); void ex_cexpr __ARGS((exarg_T *eap)); void ex_helpgrep __ARGS((exarg_T *eap)); diff --git a/src/quickfix.c b/src/quickfix.c index 3ecc81c724..c67397a5a3 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3593,13 +3593,14 @@ get_errorlist(wp, list) /* * Populate the quickfix list with the items supplied in the list - * of dictionaries. + * of dictionaries. "title" will be copied to w:quickfix_title */ int -set_errorlist(wp, list, action) +set_errorlist(wp, list, action, title) win_T *wp; list_T *list; int action; + char_u *title; { listitem_T *li; dict_T *d; @@ -3623,7 +3624,7 @@ set_errorlist(wp, list, action) if (action == ' ' || qi->qf_curlist == qi->qf_listcount) /* make place for a new list */ - qf_new_list(qi, NULL); + qf_new_list(qi, title); else if (action == 'a' && qi->qf_lists[qi->qf_curlist].qf_count > 0) /* Adding to existing list, find last entry. */ for (prevp = qi->qf_lists[qi->qf_curlist].qf_start; diff --git a/src/tag.c b/src/tag.c index 949d5d1908..d7a9a10372 100644 --- a/src/tag.c +++ b/src/tag.c @@ -911,7 +911,8 @@ do_tag(tag, type, count, forceit, verbose) dict_add_nr_str(dict, "pattern", 0L, cmd); } - set_errorlist(curwin, list, ' '); + vim_snprintf(IObuff, IOSIZE, "ltag %s", tag); + set_errorlist(curwin, list, ' ', IObuff); list_free(list, TRUE); From b6a0fcfb5df85dc9f8e9c3f16c9911d4ec8a6c57 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 22:33:06 +0200 Subject: [PATCH 06/35] Runtime file updates. --HG-- branch : vim73 --- runtime/doc/todo.txt | 9 +- runtime/ftplugin/perl.vim | 8 +- runtime/ftplugin/perl6.vim | 68 ++++ runtime/ftplugin/xs.vim | 9 +- runtime/indent/perl.vim | 253 ++++++++------- runtime/syntax/muttrc.vim | 629 ++++++++++++++++++++----------------- runtime/syntax/perl.vim | 4 +- 7 files changed, 559 insertions(+), 421 deletions(-) create mode 100644 runtime/ftplugin/perl6.vim diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 5a1710312f..61ee4ef5b9 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 08 +*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,10 +30,13 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- +'cursorline' stops too early in a help file, caused by conceal feature. + Before release 7.3: - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) Test 73 fails on MS-Windows when compiled with DJGPP. +Possibly change WIN3264 to MSWIN || MSDOS. Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5) @@ -57,6 +60,10 @@ Results in E670. (Tony Mechelynck, 2010 May 2) ":helpgrep" does not put the cursor in the correct column when preceded by accented character. (Tony Mechelynck, 2010 Apr 15) +Echo starts in the wrong column: + while 1 | let s = input('A') | echo 'R' | endw +(Boyko Bantchev, 2010 Aug 9) + Patch: Let rare word highlighting overrule good word highlighting. (Jakson A. Aquino, 2010 Jul 30) diff --git a/runtime/ftplugin/perl.vim b/runtime/ftplugin/perl.vim index 318e70ff97..1d948535aa 100644 --- a/runtime/ftplugin/perl.vim +++ b/runtime/ftplugin/perl.vim @@ -1,8 +1,8 @@ " Vim filetype plugin file -" Language: Perl -" Maintainer: Dan Sharp -" Last Change: 20 Jan 2009 -" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin +" Language: Perl +" Maintainer: Andy Lester +" URL: http://github.com/petdance/vim-perl +" Last Change: 2009-08-14 if exists("b:did_ftplugin") | finish | endif let b:did_ftplugin = 1 diff --git a/runtime/ftplugin/perl6.vim b/runtime/ftplugin/perl6.vim new file mode 100644 index 0000000000..70339ff6b2 --- /dev/null +++ b/runtime/ftplugin/perl6.vim @@ -0,0 +1,68 @@ +" Vim filetype plugin file +" Language: Perl 6 +" Maintainer: Andy Lester +" URL: http://github.com/petdance/vim-perl/tree/master +" Last Change: 2009-04-18 +" Contributors: Hinrik Örn Sigurðsson +" +" Based on ftplugin/perl.vim by Dan Sharp + +if exists("b:did_ftplugin") | finish | endif +let b:did_ftplugin = 1 + +" Make sure the continuation lines below do not cause problems in +" compatibility mode. +let s:save_cpo = &cpo +set cpo-=C + +setlocal formatoptions+=crq +setlocal comments=:# +setlocal commentstring=#%s + +" Change the browse dialog on Win32 to show mainly Perl-related files +if has("gui_win32") + let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" . + \ "Perl Modules (*.pm)\t*.pm\n" . + \ "Perl Documentation Files (*.pod)\t*.pod\n" . + \ "All Files (*.*)\t*.*\n" +endif + +" Provided by Ned Konz +"--------------------------------------------- +setlocal include=\\<\\(use\\\|require\\)\\> +setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','') +setlocal define=[^A-Za-z_] +setlocal iskeyword=@,48-57,_,192-255 + +" The following line changes a global variable but is necessary to make +" gf and similar commands work. Thanks to Andrew Pimlott for pointing out +" the problem. If this causes a " problem for you, add an +" after/ftplugin/perl6.vim file that contains +" set isfname-=: +set isfname+=: + +" Set this once, globally. +if !exists("perl6path") + if executable("perl6") + if &shellxquote != '"' + let perl6path = system('perl6 -e "print join(q/,/,@*INC)"') + else + let perl6path = system("perl6 -e 'print join(q/,/,@*INC)'") + endif + let perl6path = substitute(perl6path,',.$',',,','') + else + " If we can't call perl6 to get its path, just default to using the + " current directory and the directory of the current file. + let perl6path = ".,," + endif +endif + +let &l:path=perl6path +"--------------------------------------------- + +" Undo the stuff we changed. +let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk<" . + \ " | unlet! b:browsefilter" + +" Restore the saved compatibility options. +let &cpo = s:save_cpo diff --git a/runtime/ftplugin/xs.vim b/runtime/ftplugin/xs.vim index cf33182584..24df05d736 100644 --- a/runtime/ftplugin/xs.vim +++ b/runtime/ftplugin/xs.vim @@ -1,11 +1,12 @@ " Vim filetype plugin file -" Language: XS (Perl extension interface language) -" Maintainer: Bram Moolenaar -" Last Change: 2001 Sep 18 +" Language: XS (Perl extension interface language) +" Maintainer: Andy Lester +" URL: http://github.com/petdance/vim-perl +" Last Change: 2009-08-14 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") - finish + finish endif " Just use the C plugin for now. diff --git a/runtime/indent/perl.vim b/runtime/indent/perl.vim index 0eb95e3afb..1fbc4ded9e 100644 --- a/runtime/indent/perl.vim +++ b/runtime/indent/perl.vim @@ -1,13 +1,12 @@ " Vim indent file -" Language: Perl -" Author: Rafael Garcia-Suarez -" URL: http://rgarciasuarez.free.fr/vim/indent/perl.vim -" Last Change: 2010 Jul 28 +" Language: Perl 5 +" Author: Andy Lester +" URL: http://github.com/petdance/vim-perl/tree/master +" Last Change: June 3, 2009 " Suggestions and improvements by : " Aaron J. Sherman (use syntax for hints) " Artem Chuprina (play nice with folding) -" Benjamin R. Haskell (fold syntax group fix) " TODO things that are not or not properly indented (yet) : " - Continued statements @@ -22,7 +21,7 @@ " Only load this indent file when no other was loaded. if exists("b:did_indent") - finish + finish endif let b:did_indent = 1 @@ -30,14 +29,14 @@ let b:did_indent = 1 let b:indent_use_syntax = has("syntax") setlocal indentexpr=GetPerlIndent() -setlocal indentkeys+=0=,0),0=or,0=and +setlocal indentkeys+=0=,0),0],0=or,0=and if !b:indent_use_syntax - setlocal indentkeys+=0=EO + setlocal indentkeys+=0=EO endif " Only define the function once. if exists("*GetPerlIndent") - finish + finish endif let s:cpo_save = &cpo @@ -45,137 +44,137 @@ set cpo-=C function GetPerlIndent() - " Get the line to be indented - let cline = getline(v:lnum) + " Get the line to be indented + let cline = getline(v:lnum) - " Indent POD markers to column 0 - if cline =~ '^\s*=\L\@!' - return 0 - endif - - " Don't reindent coments on first column - if cline =~ '^#.' - return 0 - endif - - " Get current syntax item at the line's first char - let csynid = '' - if b:indent_use_syntax - let csynid = synIDattr(synID(v:lnum,1,0),"name") - endif - - " Don't reindent POD and heredocs - if csynid == "perlPOD" || csynid == "perlHereDoc" || csynid =~ "^pod" - return indent(v:lnum) - endif - - " Indent end-of-heredocs markers to column 0 - if b:indent_use_syntax - " Assumes that an end-of-heredoc marker matches \I\i* to avoid - " confusion with other types of strings - if csynid == "perlStringStartEnd" && cline =~ '^\I\i*$' - return 0 + " Indent POD markers to column 0 + if cline =~ '^\s*=\L\@!' + return 0 endif - else - " Without syntax hints, assume that end-of-heredocs markers begin with EO - if cline =~ '^\s*EO' - return 0 - endif - endif - " Now get the indent of the previous perl line. + " Don't reindent coments on first column + if cline =~ '^#.' + return 0 + endif - " Find a non-blank line above the current line. - let lnum = prevnonblank(v:lnum - 1) - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - let line = getline(lnum) - let ind = indent(lnum) - " Skip heredocs, POD, and comments on 1st column - if b:indent_use_syntax - let skippin = 2 - while skippin - let synid = synIDattr(synID(lnum,1,0),"name") - if (synid == "perlStringStartEnd" && line =~ '^\I\i*$') - \ || (skippin != 2 && synid == "perlPOD") - \ || (skippin != 2 && synid == "perlHereDoc") - \ || synid == "perlComment" - \ || synid =~ "^pod" - let lnum = prevnonblank(lnum - 1) - if lnum == 0 - return 0 - endif - let line = getline(lnum) - let ind = indent(lnum) - let skippin = 1 - else - let skippin = 0 - endif - endwhile - else - if line =~ "^EO" - let lnum = search("<<[\"']\\=EO", "bW") - let line = getline(lnum) - let ind = indent(lnum) + " Get current syntax item at the line's first char + let csynid = '' + if b:indent_use_syntax + let csynid = synIDattr(synID(v:lnum,1,0),"name") endif - endif - " Indent blocks enclosed by {} or () - if b:indent_use_syntax - " Find a real opening brace - let bracepos = match(line, '[(){}]', matchend(line, '^\s*[)}]')) - while bracepos != -1 - let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name") - " If the brace is highlighted in one of those groups, indent it. - " 'perlHereDoc' is here only to handle the case '&foo(<' - if line !~ '^\s*\(or\|and\)\>' - let ind = ind + &sw + " Indent end-of-heredocs markers to column 0 + if b:indent_use_syntax + " Assumes that an end-of-heredoc marker matches \I\i* to avoid + " confusion with other types of strings + if csynid == "perlStringStartEnd" && cline =~ '^\I\i*$' + return 0 + endif + else + " Without syntax hints, assume that end-of-heredocs markers begin with EO + if cline =~ '^\s*EO' + return 0 + endif endif - elseif line =~ '^\s*\(or\|and\)\>' - let ind = ind - &sw - endif - return ind + " Now get the indent of the previous perl line. + + " Find a non-blank line above the current line. + let lnum = prevnonblank(v:lnum - 1) + " Hit the start of the file, use zero indent. + if lnum == 0 + return 0 + endif + let line = getline(lnum) + let ind = indent(lnum) + " Skip heredocs, POD, and comments on 1st column + if b:indent_use_syntax + let skippin = 2 + while skippin + let synid = synIDattr(synID(lnum,1,0),"name") + if (synid == "perlStringStartEnd" && line =~ '^\I\i*$') + \ || (skippin != 2 && synid == "perlPOD") + \ || (skippin != 2 && synid == "perlHereDoc") + \ || synid == "perlComment" + \ || synid =~ "^pod" + let lnum = prevnonblank(lnum - 1) + if lnum == 0 + return 0 + endif + let line = getline(lnum) + let ind = indent(lnum) + let skippin = 1 + else + let skippin = 0 + endif + endwhile + else + if line =~ "^EO" + let lnum = search("<<[\"']\\=EO", "bW") + let line = getline(lnum) + let ind = indent(lnum) + endif + endif + + " Indent blocks enclosed by {}, (), or [] + if b:indent_use_syntax + " Find a real opening brace + let bracepos = match(line, '[(){}\[\]]', matchend(line, '^\s*[)}\]]')) + while bracepos != -1 + let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name") + " If the brace is highlighted in one of those groups, indent it. + " 'perlHereDoc' is here only to handle the case '&foo(<' + if line !~ '^\s*\(or\|and\)\>' + let ind = ind + &sw + endif + elseif line =~ '^\s*\(or\|and\)\>' + let ind = ind - &sw + endif + + return ind endfunction let &cpo = s:cpo_save unlet s:cpo_save -" vim:ts=8:sts=2:sw=2 +" vim:ts=8:sts=4:sw=4:expandtab:ft=vim diff --git a/runtime/syntax/muttrc.vim b/runtime/syntax/muttrc.vim index 068609c9a5..0037f8fb1b 100644 --- a/runtime/syntax/muttrc.vim +++ b/runtime/syntax/muttrc.vim @@ -2,9 +2,9 @@ " Language: Mutt setup files " Original: Preben 'Peppe' Guldberg " Maintainer: Kyle Wheeler -" Last Change: 12 Jun 2008 +" Last Change: 9 Aug 2010 -" This file covers mutt version 1.5.18 (and most of the mercurial tip) +" This file covers mutt version 1.5.20 (and most of the mercurial tip) " Included are also a few features from 1.4.2.1 " For version 5.x: Clear all syntax items @@ -33,11 +33,12 @@ 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,muttrcShellString -syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction +"syn match muttrcString contained "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape +syn region muttrcString contained keepend start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcCommand,muttrcAction,muttrcShellString +syn region muttrcString contained keepend start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcCommand,muttrcAction +syn match muttrcStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcString,muttrcStringNL -syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcSet +syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 syn match muttrcRXChars contained /[][|()][.*?+]*/ @@ -45,25 +46,47 @@ 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 -syn region muttrcRXString contained start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars -syn region muttrcRXString2 contained start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars -syn region muttrcRXString2 contained start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars +syn region muttrcRXString contained skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars +syn region muttrcRXString contained skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars +syn region muttrcRXString contained skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXChars +" For some reason, skip refuses to match backslashes here... +syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXChars +syn region muttrcRXString contained matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXChars +syn region muttrcRXString2 contained skipwhite start=+'+ skip=+\'+ end=+'+ contains=muttrcRXChars +syn region muttrcRXString2 contained skipwhite start=+"+ skip=+\"+ end=+"+ contains=muttrcRXChars -syn region muttrcRXPat contained start=+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat -syn region muttrcRXPat contained start=+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat -syn match muttrcRXPat contained /[^-'"#!]\S\+\%(\s\|$\)/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat +" these must be kept synchronized with muttrcRXString, but are intended for +" muttrcRXHooks +syn region muttrcRXHookString contained keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syn region muttrcRXHookString contained keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syn region muttrcRXHookString contained keepend skipwhite start=+[^ "'^]+ skip=+\\\s+ end=+\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syn region muttrcRXHookString contained keepend skipwhite start=+\^+ end=+[^\\]\s+re=e-1 contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syn region muttrcRXHookString contained keepend matchgroup=muttrcRXChars skipwhite start=+\^+ end=+$\s+ contains=muttrcRXString nextgroup=muttrcString,muttrcStringNL +syn match muttrcRXHookStringNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcRXHookString,muttrcRXHookStringNL + +" these are exclusively for args lists (e.g. -rx pat pat pat ...) +syn region muttrcRXPat contained keepend skipwhite start=+'+ skip=+\\'+ end=+'\s*+ contains=muttrcRXString nextgroup=muttrcRXPat +syn region muttrcRXPat contained keepend skipwhite start=+"+ skip=+\\"+ end=+"\s*+ contains=muttrcRXString nextgroup=muttrcRXPat +syn match muttrcRXPat contained /[^-'"#!]\S\+/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat syn match muttrcSpecial +\(['"]\)!\1+ -" Numbers and Quadoptions may be surrounded by " or ' -syn match muttrcNumber /=\s*\d\+/lc=1 -syn match muttrcNumber /=\s*"\d\+"/lc=1 -syn match muttrcNumber /=\s*'\d\+'/lc=1 -syn match muttrcQuadopt +=\s*\%(ask-\)\=\%(yes\|no\)+lc=1 -syn match muttrcQuadopt +=\s*"\%(ask-\)\=\%(yes\|no\)"+lc=1 -syn match muttrcQuadopt +=\s*'\%(ask-\)\=\%(yes\|no\)'+lc=1 +syn match muttrcSetStrAssignment contained skipwhite /=\s*\%(\\\?\$\)\?[0-9A-Za-z_-]\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable +syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*"+hs=s+1 end=+"+ skip=+\\"+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString +syn region muttrcSetStrAssignment contained skipwhite keepend start=+=\s*'+hs=s+1 end=+'+ skip=+\\'+ nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcString +syn match muttrcSetBoolAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable +syn match muttrcSetBoolAssignment contained skipwhite /=\s*\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetBoolAssignment contained skipwhite /=\s*"\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetBoolAssignment contained skipwhite /=\s*'\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetQuadAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable +syn match muttrcSetQuadAssignment contained skipwhite /=\s*\%(ask-\)\?\%(yes\|no\)/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetQuadAssignment contained skipwhite /=\s*"\%(ask-\)\?\%(yes\|no\)"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetQuadAssignment contained skipwhite /=\s*'\%(ask-\)\?\%(yes\|no\)'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetNumAssignment contained skipwhite /=\s*\\\?\$\w\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr contains=muttrcVariable,muttrcEscapedVariable +syn match muttrcSetNumAssignment contained skipwhite /=\s*\d\+/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetNumAssignment contained skipwhite /=\s*"\d\+"/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn match muttrcSetNumAssignment contained skipwhite /=\s*'\d\+'/hs=s+1 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " Now catch some email addresses and headers (purified version from mail.vim) syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" @@ -78,170 +101,173 @@ syn match muttrcKeyName contained "\\[trne]" syn match muttrcKeyName contained "\c<\%(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" syn match muttrcKeyName contained "" -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 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 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_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 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 -syn keyword muttrcVarBool contained pgp_create_traditional pgp_ignore_subkeys pgp_long_ids -syn keyword muttrcVarBool contained pgp_replyencrypt pgp_replyinline pgp_replysign -syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable -syn keyword muttrcVarBool contained pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split -syn keyword muttrcVarBool contained pop_auth_try_all pop_last print_decode print_split -syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias -syn keyword muttrcVarBool contained reverse_name reverse_realname rfc2047_parameters save_address -syn keyword muttrcVarBool contained save_empty save_name score sig_dashes sig_on_top -syn keyword muttrcVarBool contained smart_wrap smime_ask_cert_label smime_decrypt_use_default_key -syn keyword muttrcVarBool contained smime_is_default sort_re ssl_force_tls ssl_use_sslv2 -syn keyword muttrcVarBool contained ssl_use_sslv3 ssl_use_tlsv1 ssl_usesystemcerts status_on_top -syn keyword muttrcVarBool contained strict_mime strict_threads suspend text_flowed thorough_search -syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime -syn keyword muttrcVarBool contained use_domain use_envelope_from use_from use_idn use_ipv6 -syn keyword muttrcVarBool contained user_agent wait_key weed wrap_search write_bcc +syn keyword muttrcVarBool skipwhite contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split auto_tag autoedit beep beep_new nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained bounce_delivered braille_friendly check_new check_mbox_size nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained collapse_unread confirmappend confirmcreate crypt_autoencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained crypt_autopgp crypt_autosign crypt_autosmime crypt_replyencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained crypt_replysign crypt_replysignencrypted crypt_timestamp nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained crypt_use_gpgme crypt_use_pka delete_untag digest_collapse duplicate_threads nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained edit_hdrs edit_headers encode_from envelope_from fast_reply nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained fcc_clear followup_to force_name forw_decode nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained forw_decrypt forw_quote forward_decode forward_decrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained forward_quote hdrs header help hidden_host hide_limited nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained hide_missing hide_thread_subject hide_top_limited nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained hide_top_missing honor_disposition ignore_linear_white_space ignore_list_reply_to imap_check_subscribed nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained imap_list_subscribed imap_passive imap_peek imap_servernoise nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained implicit_autoview include_onlyfirst keep_flagged nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained mailcap_sanitize maildir_header_cache_verify maildir_trash nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained mark_old markers menu_move_off menu_scroll message_cache_clean meta_key nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained metoo mh_purge mime_forward_decode narrow_tree pager_stop nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_auto_decode pgp_auto_traditional pgp_autoencrypt nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_autoinline pgp_autosign pgp_check_exit nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_create_traditional pgp_ignore_subkeys pgp_long_ids nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_replyencrypt pgp_replyinline pgp_replysign nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained pop_auth_try_all pop_last print_decode print_split nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained prompt_after read_only reply_self resolve reverse_alias nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained reverse_name reverse_realname rfc2047_parameters save_address nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained save_empty save_name score sig_dashes sig_on_top nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained smart_wrap smime_ask_cert_label smime_decrypt_use_default_key nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained smime_is_default sort_re ssl_force_tls ssl_use_sslv2 nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained ssl_use_sslv3 ssl_use_tlsv1 ssl_usesystemcerts ssl_verify_dates ssl_verify_host status_on_top nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained strict_mime strict_threads suspend text_flowed thorough_search nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained thread_received tilde uncollapse_jump use_8bitmime nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained use_domain use_envelope_from use_from use_idn use_ipv6 nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained user_agent wait_key weed wrap_search write_bcc nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarBool contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc -syn keyword muttrcVarBool contained noaskcc noattach_split noauto_tag noautoedit nobeep nobeep_new -syn keyword muttrcVarBool contained nobounce_delivered nobraille_friendly nocheck_new nocollapse_unread -syn keyword muttrcVarBool contained noconfirmappend noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp -syn keyword muttrcVarBool contained nocrypt_autosign nocrypt_autosmime nocrypt_replyencrypt -syn keyword muttrcVarBool contained nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp -syn keyword muttrcVarBool contained nocrypt_use_gpgme nodelete_untag nodigest_collapse noduplicate_threads -syn keyword muttrcVarBool contained noedit_hdrs noedit_headers noencode_from noenvelope_from nofast_reply -syn keyword muttrcVarBool contained nofcc_attach nofcc_clear nofollowup_to noforce_name noforw_decode -syn keyword muttrcVarBool contained noforw_decrypt noforw_quote noforward_decode noforward_decrypt -syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited -syn keyword muttrcVarBool contained nohide_missing nohide_thread_subject nohide_top_limited -syn keyword muttrcVarBool contained nohide_top_missing noignore_list_reply_to noimap_check_subscribed -syn keyword muttrcVarBool contained noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise -syn keyword muttrcVarBool contained noimplicit_autoview noinclude_onlyfirst nokeep_flagged -syn keyword muttrcVarBool contained nomailcap_sanitize nomaildir_header_cache_verify nomaildir_trash -syn keyword muttrcVarBool contained nomark_old nomarkers nomenu_move_off nomenu_scroll nometa_key -syn keyword muttrcVarBool contained nometoo nomh_purge nomime_forward_decode nonarrow_tree nopager_stop -syn keyword muttrcVarBool contained nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt -syn keyword muttrcVarBool contained nopgp_autoinline nopgp_autosign nopgp_check_exit -syn keyword muttrcVarBool contained nopgp_create_traditional nopgp_ignore_subkeys nopgp_long_ids -syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replyinline nopgp_replysign -syn keyword muttrcVarBool contained nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable -syn keyword muttrcVarBool contained nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split -syn keyword muttrcVarBool contained nopop_auth_try_all nopop_last noprint_decode noprint_split -syn keyword muttrcVarBool contained noprompt_after noread_only noreply_self noresolve noreverse_alias -syn keyword muttrcVarBool contained noreverse_name noreverse_realname norfc2047_parameters nosave_address -syn keyword muttrcVarBool contained nosave_empty nosave_name noscore nosig_dashes nosig_on_top -syn keyword muttrcVarBool contained nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key -syn keyword muttrcVarBool contained nosmime_is_default nosort_re nossl_force_tls nossl_use_sslv2 -syn keyword muttrcVarBool contained nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts nostatus_on_top -syn keyword muttrcVarBool contained nostrict_threads nosuspend notext_flowed nothorough_search -syn keyword muttrcVarBool contained nothread_received notilde nouncollapse_jump nouse_8bitmime -syn keyword muttrcVarBool contained nouse_domain nouse_envelope_from nouse_from nouse_idn nouse_ipv6 -syn keyword muttrcVarBool contained nouser_agent nowait_key noweed nowrap_search nowrite_bcc +syn keyword muttrcVarBool skipwhite contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noaskcc noattach_split noauto_tag noautoedit nobeep nobeep_new nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nobounce_delivered nobraille_friendly nocheck_new nocollapse_unread nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noconfirmappend noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nocrypt_autosign nocrypt_autosmime nocrypt_replyencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nocrypt_use_gpgme nodelete_untag nodigest_collapse noduplicate_threads nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noedit_hdrs noedit_headers noencode_from noenvelope_from nofast_reply nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nofcc_clear nofollowup_to noforce_name noforw_decode nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noforw_decrypt noforw_quote noforward_decode noforward_decrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nohide_missing nohide_thread_subject nohide_top_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nohide_top_missing nohonor_disposition noignore_list_reply_to noimap_check_subscribed nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noimplicit_autoview noinclude_onlyfirst nokeep_flagged nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nomailcap_sanitize nomaildir_header_cache_verify nomaildir_trash nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nomark_old nomarkers nomenu_move_off nomenu_scroll nometa_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nometoo nomh_purge nomime_forward_decode nonarrow_tree nopager_stop nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_autoinline nopgp_autosign nopgp_check_exit nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_create_traditional nopgp_ignore_subkeys nopgp_long_ids nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_replyencrypt nopgp_replyinline nopgp_replysign nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nopop_auth_try_all nopop_last noprint_decode noprint_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noprompt_after noread_only noreply_self noresolve noreverse_alias nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained noreverse_name noreverse_realname norfc2047_parameters nosave_address nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nosave_empty nosave_name noscore nosig_dashes nosig_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nosmime_is_default nosort_re nossl_force_tls nossl_use_sslv2 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts nostatus_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nostrict_threads nosuspend notext_flowed nothorough_search nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nothread_received notilde nouncollapse_jump nouse_8bitmime nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nouse_domain nouse_envelope_from nouse_from nouse_idn nouse_ipv6 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained nouser_agent nowait_key noweed nowrap_search nowrite_bcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarBool contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc -syn keyword muttrcVarBool contained invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new -syn keyword muttrcVarBool contained invbounce_delivered invbraille_friendly invcheck_new invcollapse_unread -syn keyword muttrcVarBool contained invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp -syn keyword muttrcVarBool contained invcrypt_autosign invcrypt_autosmime invcrypt_replyencrypt -syn keyword muttrcVarBool contained invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp -syn keyword muttrcVarBool contained invcrypt_use_gpgme invdelete_untag invdigest_collapse invduplicate_threads -syn keyword muttrcVarBool contained invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply -syn keyword muttrcVarBool contained invfcc_attach invfcc_clear invfollowup_to invforce_name invforw_decode -syn keyword muttrcVarBool contained invforw_decrypt invforw_quote invforward_decode invforward_decrypt -syn keyword muttrcVarBool contained invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited -syn keyword muttrcVarBool contained invhide_missing invhide_thread_subject invhide_top_limited -syn keyword muttrcVarBool contained invhide_top_missing invignore_list_reply_to invimap_check_subscribed -syn keyword muttrcVarBool contained invimap_list_subscribed invimap_passive invimap_peek invimap_servernoise -syn keyword muttrcVarBool contained invimplicit_autoview invinclude_onlyfirst invkeep_flagged -syn keyword muttrcVarBool contained invmailcap_sanitize invmaildir_header_cache_verify invmaildir_trash -syn keyword muttrcVarBool contained invmark_old invmarkers invmenu_move_off invmenu_scroll invmeta_key -syn keyword muttrcVarBool contained invmetoo invmh_purge invmime_forward_decode invnarrow_tree invpager_stop -syn keyword muttrcVarBool contained invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt -syn keyword muttrcVarBool contained invpgp_autoinline invpgp_autosign invpgp_check_exit -syn keyword muttrcVarBool contained invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids -syn keyword muttrcVarBool contained invpgp_replyencrypt invpgp_replyinline invpgp_replysign -syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable -syn keyword muttrcVarBool contained invpgp_strict_enc invpgp_use_gpg_agent invpipe_decode invpipe_split -syn keyword muttrcVarBool contained invpop_auth_try_all invpop_last invprint_decode invprint_split -syn keyword muttrcVarBool contained invprompt_after invread_only invreply_self invresolve invreverse_alias -syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address -syn keyword muttrcVarBool contained invsave_empty invsave_name invscore invsig_dashes invsig_on_top -syn keyword muttrcVarBool contained invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key -syn keyword muttrcVarBool contained invsmime_is_default invsort_re invssl_force_tls invssl_use_sslv2 -syn keyword muttrcVarBool contained invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts invstatus_on_top -syn keyword muttrcVarBool contained invstrict_threads invsuspend invtext_flowed invthorough_search -syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime -syn keyword muttrcVarBool contained invuse_domain invuse_envelope_from invuse_from invuse_idn invuse_ipv6 -syn keyword muttrcVarBool contained invuser_agent invwait_key invweed invwrap_search invwrite_bcc +syn keyword muttrcVarBool skipwhite contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invbounce_delivered invbraille_friendly invcheck_new invcollapse_unread nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invcrypt_autosign invcrypt_autosmime invcrypt_replyencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invcrypt_use_gpgme invdelete_untag invdigest_collapse invduplicate_threads nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invfcc_clear invfollowup_to invforce_name invforw_decode nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invforw_decrypt invforw_quote invforward_decode invforward_decrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invhide_missing invhide_thread_subject invhide_top_limited nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invhide_top_missing invhonor_disposition invignore_list_reply_to invimap_check_subscribed nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invimap_list_subscribed invimap_passive invimap_peek invimap_servernoise nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invimplicit_autoview invinclude_onlyfirst invkeep_flagged nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invmailcap_sanitize invmaildir_header_cache_verify invmaildir_trash nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invmark_old invmarkers invmenu_move_off invmenu_scroll invmeta_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invmetoo invmh_purge invmime_forward_decode invnarrow_tree invpager_stop nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_autoinline invpgp_autosign invpgp_check_exit nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_replyencrypt invpgp_replyinline invpgp_replysign nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpgp_strict_enc invpgp_use_gpg_agent invpipe_decode invpipe_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invpop_auth_try_all invpop_last invprint_decode invprint_split nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invprompt_after invread_only invreply_self invresolve invreverse_alias nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invsave_empty invsave_name invscore invsig_dashes invsig_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invsmime_is_default invsort_re invssl_force_tls invssl_use_sslv2 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts invstatus_on_top nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invstrict_threads invsuspend invtext_flowed invthorough_search nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invthread_received invtilde invuncollapse_jump invuse_8bitmime nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invuse_domain invuse_envelope_from invuse_from invuse_idn invuse_ipv6 nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarBool skipwhite contained invuser_agent invwait_key invweed invwrap_search invwrite_bcc nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified bounce copy -syn keyword muttrcVarQuad contained crypt_verify_sig delete forward_edit honor_followup_to -syn keyword muttrcVarQuad contained include mime_forward mime_forward_rest mime_fwd move -syn keyword muttrcVarQuad contained pgp_mime_auto pgp_verify_sig pop_delete pop_reconnect -syn keyword muttrcVarQuad contained postpone print quit recall reply_to ssl_starttls +syn keyword muttrcVarQuad skipwhite contained abort_nosubject abort_unmodified bounce copy nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained crypt_verify_sig delete fcc_attach forward_edit honor_followup_to nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained include mime_forward mime_forward_rest mime_fwd move nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained pgp_mime_auto pgp_verify_sig pop_delete pop_reconnect nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained postpone print quit recall reply_to ssl_starttls nextgroup=muttrcSetQuadAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarQuad contained noabort_nosubject noabort_unmodified nobounce nocopy -syn keyword muttrcVarQuad contained nocrypt_verify_sig nodelete noforward_edit nohonor_followup_to -syn keyword muttrcVarQuad contained noinclude nomime_forward nomime_forward_rest nomime_fwd nomove -syn keyword muttrcVarQuad contained nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect -syn keyword muttrcVarQuad contained nopostpone noprint noquit norecall noreply_to nossl_starttls +syn keyword muttrcVarQuad skipwhite contained noabort_nosubject noabort_unmodified nobounce nocopy nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained nocrypt_verify_sig nodelete nofcc_attach noforward_edit nohonor_followup_to nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained noinclude nomime_forward nomime_forward_rest nomime_fwd nomove nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained nopostpone noprint noquit norecall noreply_to nossl_starttls nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarQuad contained invabort_nosubject invabort_unmodified invbounce invcopy -syn keyword muttrcVarQuad contained invcrypt_verify_sig invdelete invforward_edit invhonor_followup_to -syn keyword muttrcVarQuad contained invinclude invmime_forward invmime_forward_rest invmime_fwd invmove -syn keyword muttrcVarQuad contained invpgp_mime_auto invpgp_verify_sig invpop_delete invpop_reconnect -syn keyword muttrcVarQuad contained invpostpone invprint invquit invrecall invreply_to invssl_starttls +syn keyword muttrcVarQuad skipwhite contained invabort_nosubject invabort_unmodified invbounce invcopy nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained invcrypt_verify_sig invdelete invfcc_attach invforward_edit invhonor_followup_to nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained invinclude invmime_forward invmime_forward_rest invmime_fwd invmove nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained invpgp_mime_auto invpgp_verify_sig invpop_delete invpop_reconnect nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarQuad skipwhite contained invpostpone invprint invquit invrecall invreply_to invssl_starttls nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr -syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_check menu_context net_inc -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 time_inc wrap wrapmargin write_inc +syn keyword muttrcVarNum skipwhite contained connect_timeout history imap_keepalive imap_pipeline_depth mail_check nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarNum skipwhite contained menu_context net_inc pager_context pager_index_lines pgp_timeout nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarNum skipwhite contained pop_checkinterval read_inc save_history score_threshold_delete nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarNum skipwhite contained score_threshold_flag score_threshold_read search_context sendmail_wait sleep_time nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarNum skipwhite contained smime_timeout ssl_min_dh_prime_bits timeout time_inc wrap wrapmargin nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarNum skipwhite contained write_inc nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr + +syn match muttrcFormatErrors contained /%./ 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 muttrcQueryFormatStr contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors -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 +syn region muttrcIndexFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcIndexFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcQueryFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcQueryFormatEscapes,muttrcQueryFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcAliasFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcAliasFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcAttachFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcAttachFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcComposeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcComposeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcFolderFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcFolderFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcMixFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcMixFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPCmdFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcStatusFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcStatusFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcPGPGetKeysFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcSmimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcSmimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn region muttrcStrftimeFormatStr contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStrftimeEscapes,muttrcFormatErrors nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " The following info was pulled from hdr_format_str in hdrline.c syn match muttrcIndexFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[aAbBcCdDeEfFHilLmMnNOPsStTuvXyYZ%]/ +syn match muttrcIndexFormatEscapes contained /%[>|*]./ 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%]/ @@ -257,7 +283,7 @@ syn match muttrcFormatConditionals2 contained /[^?]*?/ 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 /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CDdfFglNstu%]/ syn match muttrcFolderFormatEscapes contained /%[>|*]./ syn match muttrcFolderFormatConditionals contained /%?[N]?/ " The following info was pulled from mix_entry_fmt in remailer.c @@ -291,76 +317,89 @@ syn region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftim 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 query_format nextgroup=muttrcVarEqualsQueryFmt -syn match muttrcVarEqualsQueryFmt contained " *= *" nextgroup=muttrcQueryFormatStr -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 keyword muttrcVarStr contained skipwhite attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt +syn match muttrcVarEqualsIdxFmt contained skipwhite "=" nextgroup=muttrcIndexFormatStr +syn keyword muttrcVarStr contained skipwhite alias_format nextgroup=muttrcVarEqualsAliasFmt +syn match muttrcVarEqualsAliasFmt contained skipwhite "=" nextgroup=muttrcAliasFormatStr +syn keyword muttrcVarStr contained skipwhite attach_format nextgroup=muttrcVarEqualsAttachFmt +syn match muttrcVarEqualsAttachFmt contained skipwhite "=" nextgroup=muttrcAttachFormatStr +syn keyword muttrcVarStr contained skipwhite compose_format nextgroup=muttrcVarEqualsComposeFmt +syn match muttrcVarEqualsComposeFmt contained skipwhite "=" nextgroup=muttrcComposeFormatStr +syn keyword muttrcVarStr contained skipwhite folder_format nextgroup=muttrcVarEqualsFolderFmt +syn match muttrcVarEqualsFolderFmt contained skipwhite "=" nextgroup=muttrcFolderFormatStr +syn keyword muttrcVarStr contained skipwhite mix_entry_format nextgroup=muttrcVarEqualsMixFmt +syn match muttrcVarEqualsMixFmt contained skipwhite "=" nextgroup=muttrcMixFormatStr +syn keyword muttrcVarStr contained skipwhite pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt +syn match muttrcVarEqualsPGPFmt contained skipwhite "=" nextgroup=muttrcPGPFormatStr +syn keyword muttrcVarStr contained skipwhite query_format nextgroup=muttrcVarEqualsQueryFmt +syn match muttrcVarEqualsQueryFmt contained skipwhite "=" nextgroup=muttrcQueryFormatStr +syn keyword muttrcVarStr contained skipwhite 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 skipwhite "=" nextgroup=muttrcPGPCmdFormatStr +syn keyword muttrcVarStr contained skipwhite status_format nextgroup=muttrcVarEqualsStatusFmt +syn match muttrcVarEqualsStatusFmt contained skipwhite "=" nextgroup=muttrcStatusFormatStr +syn keyword muttrcVarStr contained skipwhite pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt +syn match muttrcVarEqualsPGPGetKeysFmt contained skipwhite "=" nextgroup=muttrcPGPGetKeysFormatStr +syn keyword muttrcVarStr contained skipwhite 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 skipwhite "=" nextgroup=muttrcSmimeFormatStr +syn keyword muttrcVarStr contained skipwhite date_format nextgroup=muttrcVarEqualsStrftimeFmt +syn match muttrcVarEqualsStrftimeFmt contained skipwhite "=" nextgroup=muttrcStrftimeFormatStr -syn match muttrcVarStr contained 'my_[a-zA-Z0-9_]\+' -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 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_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_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_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 tmpdir to_chars tunnel visual +syn match muttrcVPrefix contained /[?&]/ nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr + +syn match muttrcVarStr contained skipwhite 'my_[a-zA-Z0-9_]\+' nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite alias_file assumed_charset attach_charset attach_sep nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite certificate_file charset config_charset content_type nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite default_hook display_filter dotlock_program dsn_notify nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite dsn_return editor entropy_file envelope_from_address escape folder nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite forw_format forward_format from gecos_mask hdr_format nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite header_cache header_cache_compress header_cache_pagesize nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite history_file hostname imap_authenticators nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite imap_delim_chars imap_headers imap_idle imap_login imap_pass nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite imap_user indent_str indent_string ispell locale mailcap_path nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite mask mbox mbox_type message_cachedir mh_seq_flagged mh_seq_replied nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite mh_seq_unseen mixmaster msg_format pager nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite pgp_good_sign nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite pgp_mime_signature_filename nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite pgp_mime_signature_description pgp_sign_as nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite pgp_sort_keys nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite post_indent_string postponed preconnect print_cmd print_command nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite query_command quote_regexp realname record reply_regexp send_charset nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite sendmail shell signature simple_search smileys smime_ca_location nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite smime_certificates smime_default_key nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite smime_encrypt_with nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite smime_keys smime_sign_as nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite smtp_url smtp_authenticators smtp_pass sort sort_alias sort_aux nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite sort_browser spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcVarStr contained skipwhite status_chars tmpdir to_chars tunnel visual nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " 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 +syn keyword muttrcVarBool contained skipwhite imap_force_ssl noimap_force_ssl invimap_force_ssl nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr "syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional -syn keyword muttrcVarStr contained alternates +syn keyword muttrcVarStr contained skipwhite alternates nextgroup=muttrcSetStrAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic syn match muttrcMenuList "\S\+" contained contains=muttrcMenu syn match muttrcMenuCommas /,/ contained -syn keyword muttrcCommand auto_view alternative_order charset-hook exec unalternative_order +syn keyword muttrcHooks contained skipwhite account-hook charset-hook iconv-hook message-hook folder-hook mbox-hook save-hook fcc-hook fcc-save-hook send-hook send2-hook reply-hook crypt-hook + +syn keyword muttrcCommand auto_view alternative_order exec unalternative_order syn keyword muttrcCommand hdr_order iconv-hook ignore mailboxes my_hdr unmailboxes syn keyword muttrcCommand pgp-hook push score source unauto_view unhdr_order syn keyword muttrcCommand unignore unmono unmy_hdr unscore -syn keyword muttrcCommand mime_lookup unmime_lookup spam ungroup -syn keyword muttrcCommand nospam unalternative_order +syn keyword muttrcCommand mime_lookup unmime_lookup ungroup +syn keyword muttrcCommand unalternative_order +syn keyword muttrcCommand skipwhite charset-hook nextgroup=muttrcRXString +syn keyword muttrcCommand skipwhite unhook nextgroup=muttrcHooks -syn keyword muttrcHooks contained account-hook charset-hook iconv-hook message-hook folder-hook mbox-hook save-hook fcc-hook fcc-save-hook send-hook send2-hook reply-hook crypt-hook -syn keyword muttrcUnhook contained unhook -syn region muttrcUnhookLine keepend start=+^\s*unhook\s+ skip=+\\$+ end=+$+ contains=muttrcUnhook,muttrcHooks,muttrcUnHighlightSpace,muttrcComment +syn keyword muttrcCommand skipwhite spam nextgroup=muttrcSpamPattern +syn region muttrcSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL +syn region muttrcSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern nextgroup=muttrcString,muttrcStringNL + +syn keyword muttrcCommand skipwhite nospam nextgroup=muttrcNoSpamPattern +syn region muttrcNoSpamPattern contained skipwhite keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPattern +syn region muttrcNoSpamPattern contained skipwhite keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPattern syn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType syn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType @@ -368,20 +407,23 @@ syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgro syn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)" -syn keyword muttrcListsKeyword contained lists unlists -syn region muttrcListsLine keepend start=+^\s*\%(un\)\?lists\s+ skip=+\\$+ end=+$+ contains=muttrcListsKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment +syn keyword muttrcAsterisk contained * +syn keyword muttrcListsKeyword lists skipwhite nextgroup=muttrcGroupDef,muttrcComment +syn keyword muttrcListsKeyword unlists skipwhite nextgroup=muttrcAsterisk,muttrcComment -syn keyword muttrcSubscribeKeyword contained subscribe unsubscribe -syn region muttrcSubscribeLine keepend start=+^\s*\%(un\)\?subscribe\s+ skip=+\\$+ end=+$+ contains=muttrcSubscribeKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment +syn keyword muttrcSubscribeKeyword subscribe nextgroup=muttrcGroupDef,muttrcComment +syn keyword muttrcSubscribeKeyword unsubscribe nextgroup=muttrcAsterisk,muttrcComment syn keyword muttrcAlternateKeyword contained alternates unalternates syn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment -syn match muttrcVariable "\$[a-zA-Z_-]\+" +syn match muttrcVariable contained "\\\@]\+" contains=muttrcEmail syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|recall\|resend\|save\|send\|tag\|undelete\)-message\>" -syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|undelete\)-thread\>" +syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|break\|undelete\)-thread\>" +syn match muttrcFunction contained "\" syn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>" syn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>" syn match muttrcFunction contained "\" @@ -396,12 +438,13 @@ syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" -syn match muttrcFunction contained "\" -syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" -syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" syn match muttrcFunction contained "\" @@ -409,40 +452,41 @@ syn match muttrcFunction contained "\" syn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName -syn keyword muttrcSet set skipwhite nextgroup=muttrcVar.* -syn keyword muttrcUnset unset skipwhite nextgroup=muttrcVar.* -syn keyword muttrcReset reset skipwhite nextgroup=muttrcVar.* -syn keyword muttrcToggle toggle skipwhite nextgroup=muttrcVar.* +syn keyword muttrcCommand set skipwhite nextgroup=muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcCommand unset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcCommand reset skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr +syn keyword muttrcCommand toggle skipwhite nextgroup=muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr " First, functions that take regular expressions: -syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXString -syn match muttrcRXHooks /^\s*\%(account\|folder\)-hook\s\+/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXString +syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXHookString,muttrcRXHookStringNL +syn match muttrcRXHooks /\<\%(account\|folder\)-hook\>/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXHookString,muttrcRXHookStringNL " Now, functions that take patterns syn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern -syn match muttrcPatHooks /^\s*\%(message\|mbox\|save\|fcc\%(-save\)\?\|send2\?\|reply\|crypt\)-hook\s\+/ nextgroup=muttrcPatHookNot,muttrcPattern +syn match muttrcPatHooks /\<\%(mbox\|crypt\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcPattern +syn match muttrcPatHooks /\<\%(message\|reply\|send\|send2\|save\|\|fcc\%(-save\)\?\)-hook\>/ skipwhite nextgroup=muttrcPatHookNot,muttrcOptPattern -syn match muttrcBindFunction contained /\S\+\%(\s\|$\)/ skipwhite contains=muttrcFunction +syn match muttrcBindFunction contained /\S\+\>/ skipwhite contains=muttrcFunction syn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL syn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL syn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL syn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL syn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL -syn match muttrcBind /^\s*bind\s\?/ skipwhite nextgroup=muttrcBindMenuList,muttrcBindMenuListNL +syn keyword muttrcCommand skipwhite bind nextgroup=muttrcBindMenuList,muttrcBindMenuListNL syn region muttrcMacroDescr contained keepend skipwhite start=+\s*\S+ms=e skip=+\\ + end=+ \|$+me=s syn region muttrcMacroDescr contained keepend skipwhite start=+'+ms=e skip=+\\'+ end=+'+me=s syn region muttrcMacroDescr contained keepend skipwhite start=+"+ms=e skip=+\\"+ end=+"+me=s syn match muttrcMacroDescrNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroDescr,muttrcMacroDescrNL syn region muttrcMacroBody contained skipwhite start="\S" skip='\\ \|\\$' end=' \|$' contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL -syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'\|\\$+ end=+'\|$+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL -syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+"+ms=e skip=+\\"\|\\$+ end=+"\|$+me=s contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction nextgroup=muttrcMacroDescr,muttrcMacroDescrNL +syn region muttrcMacroBody matchgroup=Type contained skipwhite start=+'+ms=e skip=+\\'+ end=+'\|\%(\%(\\\\\)\@-][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]\)\|\%(`[^`]\+`\)\|\%(\$[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 "!\?\^\?[~][mnXz]\s*\%([<>-][0-9]\+[kM]\?\|[0-9]\+[kM]\?[-]\%([0-9]\+[kM]\?\)\?\)" +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 region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat -"syn match muttrcSimplePat contained /'[^~=%][^']*/ -"contains=muttrcRXPat -syn match muttrcSimplePatString contained /[a-zA-Z0-9]\+/ +"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXString syn region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+ syn region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+ -syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXPat -syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXPat -syn match muttrcSimplePatRXContainer contained /\S\+/ contains=muttrcRXPat +syn region muttrcSimplePatString contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 +syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXString +syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXString +syn region muttrcSimplePatRXContainer contained keepend start=+[^ "']+ skip=+\\ + end=+\s+re=e-1 contains=muttrcRXString 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 muttrcOptSimplePat contained skipwhite /[~=%!(^].*/ contains=muttrcSimplePat,muttrcSimplePatMetas +syn match muttrcOptSimplePat contained skipwhite /[^~=%!(^].*/ contains=muttrcRXString +syn region muttrcOptPattern contained matchgroup=Type keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL +syn region muttrcOptPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcOptSimplePat,muttrcUnHighlightSpace nextgroup=muttrcString,muttrcStringNL +syn region muttrcOptPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL +syn match muttrcOptPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat nextgroup=muttrcString,muttrcStringNL +syn match muttrcOptPattern contained skipwhite /[.]/ nextgroup=muttrcString,muttrcStringNL +" Keep muttrcPattern and muttrcOptPattern synchronized +syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+"+ skip=+\\"+ end=+"+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas +syn region muttrcPattern contained matchgroup=Type keepend skipwhite start=+'+ skip=+\\'+ end=+'+ contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas +syn region muttrcPattern contained keepend skipwhite start=+[~](+ end=+)+ skip=+\\)+ contains=muttrcSimplePat +syn match muttrcPattern contained skipwhite /[~][A-Za-z]/ contains=muttrcSimplePat +syn match muttrcPattern contained skipwhite /[.]/ 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 @@ -516,17 +569,27 @@ syn match muttrcColorFGNL contained skipnl "\s*\\$" nextgroup=muttrcColorFG,mutt syn match muttrcColorContext contained /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL syn match muttrcColorNL contained skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL syn match muttrcColorKeyword contained /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL -syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace +syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\|header\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace " Now for the structure of the color index line syn match muttrcPatternNL contained skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL syn match muttrcColorBGI contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL syn match muttrcColorBGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI syn match muttrcColorFGI contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI syn match muttrcColorFGNLI contained skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI -syn match muttrcColorContextI contained /\s*index/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI +syn match muttrcColorContextI contained /\s*\/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI syn match muttrcColorNLI contained skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI -syn match muttrcColorKeywordI contained /^\s*color\s\+/ nextgroup=muttrcColorContextI,muttrcColorNLI -syn region muttrcColorLine keepend start=/^\s*color\s\+index/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace +syn match muttrcColorKeywordI contained skipwhite /\/ nextgroup=muttrcColorContextI,muttrcColorNLI +syn region muttrcColorLine keepend skipwhite start=/\/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace +" Now for the structure of the color header line +syn match muttrcRXPatternNL contained skipnl "\s*\\$" nextgroup=muttrcRXString,muttrcRXPatternNL +syn match muttrcColorBGH contained /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcRXString,muttrcRXPatternNL +syn match muttrcColorBGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorBGH,muttrcColorBGNLH +syn match muttrcColorFGH contained /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGH,muttrcColorBGNLH +syn match muttrcColorFGNLH contained skipnl "\s*\\$" nextgroup=muttrcColorFGH,muttrcColorFGNLH +syn match muttrcColorContextH contained /\s*\/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGH,muttrcColorFGNLH +syn match muttrcColorNLH contained skipnl "\s*\\$" nextgroup=muttrcColorContextH,muttrcColorNLH +syn match muttrcColorKeywordH contained skipwhite /\/ nextgroup=muttrcColorContextH,muttrcColorNLH +syn region muttrcColorLine keepend skipwhite start=/\/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordH,muttrcComment,muttrcUnHighlightSpace " And now color's brother: syn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL syn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL @@ -569,14 +632,17 @@ if version >= 508 || !exists("did_muttrc_syntax_inits") HiLink muttrcRXDef muttrcGroupFlag HiLink muttrcRXPat String HiLink muttrcAliasGroupName Macro - HiLink muttrcAliasKey Identifier + HiLink muttrcAliasKey Identifier HiLink muttrcUnAliasKey Identifier HiLink muttrcAliasEncEmail Identifier HiLink muttrcAliasParens Type - HiLink muttrcNumber Number - HiLink muttrcQuadopt Boolean + HiLink muttrcSetNumAssignment Number + HiLink muttrcSetBoolAssignment Boolean + HiLink muttrcSetQuadAssignment Boolean + HiLink muttrcSetStrAssignment String HiLink muttrcEmail Special HiLink muttrcVariable Special + HiLink muttrcEscapedVariable String HiLink muttrcHeader Type HiLink muttrcKeySpecial SpecialChar HiLink muttrcKey Type @@ -587,17 +653,7 @@ if version >= 508 || !exists("did_muttrc_syntax_inits") HiLink muttrcVarStr Identifier HiLink muttrcMenu Identifier HiLink muttrcCommand Keyword - HiLink muttrcSet Keyword - HiLink muttrcUnset muttrcCommand - HiLink muttrcReset muttrcCommand - HiLink muttrcToggle muttrcCommand - HiLink muttrcBind muttrcCommand - HiLink muttrcMacro muttrcCommand HiLink muttrcMacroDescr String - HiLink muttrcAlias muttrcCommand - HiLink muttrcUnAlias muttrcCommand - HiLink muttrcUnhook muttrcCommand - HiLink muttrcUnhookLine Error HiLink muttrcAction Macro HiLink muttrcBadAction Error HiLink muttrcBindFunction Error @@ -617,21 +673,24 @@ if version >= 508 || !exists("did_muttrc_syntax_inits") HiLink muttrcColorLine Error HiLink muttrcColorContext Error HiLink muttrcColorContextI Identifier + HiLink muttrcColorContextH Identifier HiLink muttrcColorKeyword muttrcCommand HiLink muttrcColorKeywordI muttrcColorKeyword + HiLink muttrcColorKeywordH muttrcColorKeyword HiLink muttrcColorField Identifier HiLink muttrcColor Type HiLink muttrcColorFG Error HiLink muttrcColorFGI Error + HiLink muttrcColorFGH Error HiLink muttrcColorBG Error HiLink muttrcColorBGI Error + HiLink muttrcColorBGH Error HiLink muttrcMonoAttrib muttrcColor HiLink muttrcMono muttrcCommand HiLink muttrcSimplePat Identifier HiLink muttrcSimplePatString Macro HiLink muttrcSimplePatMetas Special - HiLink muttrcPattern Type - HiLink muttrcPatternInner Error + HiLink muttrcPattern Error HiLink muttrcUnColorLine Error HiLink muttrcUnColorKeyword muttrcCommand HiLink muttrcUnColorIndex Identifier @@ -674,6 +733,7 @@ if version >= 508 || !exists("did_muttrc_syntax_inits") HiLink muttrcTimeEscapes muttrcEscape HiLink muttrcPGPTimeEscapes muttrcEscape HiLink muttrcStrftimeEscapes Type + HiLink muttrcStrftimeFormatStr muttrcString HiLink muttrcFormatErrors Error HiLink muttrcBindFunctionNL SpecialChar @@ -698,6 +758,7 @@ if version >= 508 || !exists("did_muttrc_syntax_inits") HiLink muttrcUnColorPatNL SpecialChar HiLink muttrcUnColorAPNL SpecialChar HiLink muttrcUnColorIndexNL SpecialChar + HiLink muttrcStringNL SpecialChar delcommand HiLink endif diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim index 4c403ba893..ca5e099530 100644 --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -141,6 +141,7 @@ syn match perlLabel "^\s*\h\w*\s*::\@!\%(\(-]" +syn match perlVarPlain "%+" syn match perlVarPlain "$\%(0\|[1-9]\d*\)" " Same as above, but avoids confusion in $::foo (equivalent to $main::foo) syn match perlVarPlain "$::\@!" @@ -216,7 +217,8 @@ syn match perlSpecialMatch "(\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\=\|\%(MARK\ syn match perlNotEmptyLine "^\s\+$" contained " Highlight '} else if (...) {', it should be '} else { if (...) { ' or " '} elsif (...) {'. -syn match perlElseIfError "[^[:space:]{]\+" contained +syn match perlElseIfError "\s\+if" contained +syn keyword perlElseIfError elseif " Variable interpolation " From 0b15a039845c0fc3f8ee9e9311b795cffe1de526 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 9 Aug 2010 22:49:00 +0200 Subject: [PATCH 07/35] Fix crash when using netbeans in a terminal when compiled with GUI support. (partly by Xavier de Gaye) --HG-- branch : vim73 --- src/netbeans.c | 52 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/src/netbeans.c b/src/netbeans.c index f5a158965b..d75fcbb1a6 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -185,8 +185,11 @@ netbeans_close(void) setcursor(); out_flush(); #ifdef FEAT_GUI - gui_update_cursor(TRUE, FALSE); - gui_mch_flush(); + if (gui.in_use) + { + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } #endif } @@ -1890,7 +1893,8 @@ nb_do_cmd( maketitle(); buf->insertDone = FALSE; #if defined(FEAT_MENU) && defined(FEAT_GUI) - gui_update_menus(0); + if (gui.in_use) + gui_update_menus(0); #endif /* =====================================================================*/ } @@ -2051,7 +2055,8 @@ nb_do_cmd( buf->bufp = curbuf; maketitle(); #if defined(FEAT_MENU) && defined(FEAT_GUI) - gui_update_menus(0); + if (gui.in_use) + gui_update_menus(0); #endif /* =====================================================================*/ } @@ -2075,7 +2080,8 @@ nb_do_cmd( maketitle(); #endif #if defined(FEAT_MENU) && defined(FEAT_GUI) - gui_update_menus(0); + if (gui.in_use) + gui_update_menus(0); #endif /* =====================================================================*/ } @@ -2102,7 +2108,7 @@ nb_do_cmd( #ifdef FEAT_GUI /* Side effect!!!. */ - if (!gui.starting) + if (gui.in_use) gui_mch_set_foreground(); #endif } @@ -2112,7 +2118,7 @@ nb_do_cmd( { #ifdef FEAT_GUI /* Bring gvim to the foreground. */ - if (!gui.starting) + if (gui.in_use) gui_mch_set_foreground(); #endif /* =====================================================================*/ @@ -2246,14 +2252,17 @@ nb_do_cmd( setcursor(); out_flush(); #ifdef FEAT_GUI - gui_update_cursor(TRUE, FALSE); - gui_mch_flush(); + if (gui.in_use) + { + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } #endif /* Quit a hit-return or more prompt. */ if (State == HITRETURN || State == ASKMORE) { #ifdef FEAT_GUI_GTK - if (gtk_main_level() > 0) + if (gui.in_use && gtk_main_level() > 0) gtk_main_quit(); #endif } @@ -2637,14 +2646,17 @@ nb_do_cmd( setcursor(); out_flush(); #ifdef FEAT_GUI - gui_update_cursor(TRUE, FALSE); - gui_mch_flush(); + if (gui.in_use) + { + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } #endif /* Quit a hit-return or more prompt. */ if (State == HITRETURN || State == ASKMORE) { #ifdef FEAT_GUI_GTK - if (gtk_main_level() > 0) + if (gui.in_use && gtk_main_level() > 0) gtk_main_quit(); #endif } @@ -2689,8 +2701,11 @@ coloncmd(char *cmd, ...) out_flush(); /* make sure output has been written */ #ifdef FEAT_GUI - gui_update_cursor(TRUE, FALSE); - gui_mch_flush(); + if (gui.in_use) + { + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } #endif } @@ -2987,8 +3002,11 @@ netbeans_open(char *params, int doabort) setcursor(); out_flush(); #ifdef FEAT_GUI - gui_update_cursor(TRUE, FALSE); - gui_mch_flush(); + if (gui.in_use) + { + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); + } #endif } From 0f2e2b513c4f855ec497407530a617e37d522183 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 10 Aug 2010 09:25:48 +0200 Subject: [PATCH 08/35] Fix compiler warning. --HG-- branch : vim73 --- src/tag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tag.c b/src/tag.c index d7a9a10372..fdd8dec95c 100644 --- a/src/tag.c +++ b/src/tag.c @@ -911,7 +911,7 @@ do_tag(tag, type, count, forceit, verbose) dict_add_nr_str(dict, "pattern", 0L, cmd); } - vim_snprintf(IObuff, IOSIZE, "ltag %s", tag); + vim_snprintf((char *)IObuff, IOSIZE, "ltag %s", tag); set_errorlist(curwin, list, ' ', IObuff); list_free(list, TRUE); From 7bf5da720ec855a7219cce06042757f0a077d980 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 10 Aug 2010 19:50:26 +0200 Subject: [PATCH 09/35] Make :find completion work better with the DJGPP build. (Nazri Ramliy) --HG-- branch : vim73 --- src/ex_getln.c | 2 +- src/misc1.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ex_getln.c b/src/ex_getln.c index 2475bb9c12..d2925535e4 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -5040,7 +5040,7 @@ globpath(path, file, expand_options) copy_option_part(&path, buf, MAXPATHL, ","); if (STRLEN(buf) + STRLEN(file) + 2 < MAXPATHL) { -# ifdef WIN3264 +# if defined(MSWIN) || defined(MSDOS) /* Using the platform's path separator (\) makes vim incorrectly * treat it as an escape character, use '/' instead. */ if (*buf != NUL && !after_pathsep(buf, buf + STRLEN(buf))) diff --git a/src/misc1.c b/src/misc1.c index 911ba4a217..fd4e4fe669 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -9374,7 +9374,7 @@ get_path_cutoff(fname, gap) int j = 0; while ((fname[j] == path_part[i][j] -#if defined(WIN3264) +# if defined(MSWIN) || defined(MSDOS) || (vim_ispathsep(fname[j]) && vim_ispathsep(path_part[i][j])) #endif ) && fname[j] != NUL && path_part[i][j] != NUL) @@ -9389,7 +9389,7 @@ get_path_cutoff(fname, gap) /* Skip to the file or directory name */ if (cutoff != NULL) while ( -#if defined(WIN3264) +# if defined(MSWIN) || defined(MSDOS) *cutoff == '/' #else vim_ispathsep(*cutoff) @@ -9460,7 +9460,7 @@ uniquefy_paths(gap, pattern) len = (int)STRLEN(path); while (dir_end > path && -#if defined(WIN3264) +# if defined(MSWIN) || defined(MSDOS) *dir_end != '/' #else !vim_ispathsep(*dir_end) From 05246bf32e7f972e9b5ff24ba0f3272e6a793ad7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 10 Aug 2010 21:43:35 +0200 Subject: [PATCH 10/35] Runtime file updates. Fix tar plugin window split. --HG-- branch : vim73 --- runtime/autoload/tar.vim | 26 +- runtime/doc/message.txt | 4 +- runtime/doc/pi_tar.txt | 4 +- runtime/doc/syntax.txt | 40 ++- runtime/doc/todo.txt | 9 +- runtime/doc/various.txt | 4 +- runtime/plugin/tarPlugin.vim | 2 +- runtime/syntax/tex.vim | 528 +++++++++++++++++++---------------- 8 files changed, 344 insertions(+), 273 deletions(-) diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim index 508405341b..becb790925 100644 --- a/runtime/autoload/tar.vim +++ b/runtime/autoload/tar.vim @@ -1,7 +1,7 @@ " tar.vim: Handles browsing tarfiles " AUTOLOAD PORTION -" Date: Jul 27, 2010 -" Version: 25 +" Date: Aug 09, 2010 +" Version: 26 " Maintainer: Charles E Campbell, Jr " License: Vim License (see vim's :help license) " @@ -22,7 +22,7 @@ if &cp || exists("g:loaded_tar") finish endif -let g:loaded_tar= "v25" +let g:loaded_tar= "v26" if v:version < 702 echohl WarningMsg echo "***warning*** this version of tar needs vim 7.2" @@ -127,7 +127,7 @@ fun! tar#Browse(tarfile) if &ma != 1 set ma endif - let w:tarfile= a:tarfile + let b:tarfile= a:tarfile setlocal noswapfile setlocal buftype=nofile @@ -198,13 +198,13 @@ fun! tar#Browse(tarfile) noremap :call TarBrowseSelect() let &report= repkeep -" call Dret("tar#Browse : w:tarfile<".w:tarfile.">") +" call Dret("tar#Browse : b:tarfile<".b:tarfile.">") endfun " --------------------------------------------------------------------- " TarBrowseSelect: {{{2 fun! s:TarBrowseSelect() -" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">") +" call Dfunc("TarBrowseSelect() b:tarfile<".b:tarfile."> curfile<".expand("%").">") let repkeep= &report set report=10 let fname= getline(".") @@ -224,8 +224,8 @@ fun! s:TarBrowseSelect() return endif - " about to make a new window, need to use w:tarfile - let tarfile= w:tarfile + " about to make a new window, need to use b:tarfile + let tarfile= b:tarfile let curfile= expand("%") if has("win32") && executable("cygpath") " assuming cygwin @@ -313,7 +313,7 @@ fun! tar#Read(fname,mode) setlocal ro endif - let w:tarfile= a:fname + let b:tarfile= a:fname exe "file tarfile::".fnameescape(fname) " cleanup @@ -321,13 +321,13 @@ fun! tar#Read(fname,mode) set nomod let &report= repkeep -" call Dret("tar#Read : w:tarfile<".w:tarfile.">") +" call Dret("tar#Read : b:tarfile<".b:tarfile.">") endfun " --------------------------------------------------------------------- " tar#Write: {{{2 fun! tar#Write(fname) -" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">") +" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">") let repkeep= &report set report=10 @@ -383,8 +383,8 @@ fun! tar#Write(fname) cd _ZIPVIM_ " call Decho("current directory now: ".getcwd()) - let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\)::.*$','\1','') - let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') + let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','') + let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') " handle compressed archives if tarfile =~# '\.bz2' diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index fe9afbd00d..1b0a139867 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 7.3f. Last change: 2010 Jul 26 +*message.txt* For Vim version 7.3f. Last change: 2010 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -547,7 +547,7 @@ Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching can then be used, which is a lot faster than a linear search. If your tags files are not properly sorted, reset the |'tagbsearch'| option. This message is only given when Vim detects a problem when searching for a -tag. Sometimes this message is not given, even thought the tags file is not +tag. Sometimes this message is not given, even though the tags file is not properly sorted. *E460* > diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt index 88a25e9060..a20d0958af 100644 --- a/runtime/doc/pi_tar.txt +++ b/runtime/doc/pi_tar.txt @@ -1,4 +1,4 @@ -*pi_tar.txt* For Vim version 7.3f. Last change: 2010 Jul 27 +*pi_tar.txt* For Vim version 7.3f. Last change: 2010 Aug 09 +====================+ | Tar File Interface | @@ -83,6 +83,8 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright* 4. History *tar-history* + v26 Aug 09, 2010 * uses buffer-local instead of window variables to hold + tarfile name v25 Jun 19, 2010 * (Jan Steffens) added support for xz compression v24 Apr 07, 2009 * :Untarvim command implemented Sep 28, 2009 * Added lzma support diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 03e4faa6cc..3460f6bced 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.3f. Last change: 2010 Aug 08 +*syntax.txt* For Vim version 7.3f. Last change: 2010 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2613,7 +2613,7 @@ redrawing can become slow. TEX *tex.vim* *ft-tex-syntax* *tex-folding* -Want Syntax Folding? ~ + Tex: Want Syntax Folding? ~ As of version 28 of , syntax-based folding of parts, chapters, sections, subsections, etc are supported. Put > @@ -2623,7 +2623,7 @@ modeline at the end of your LaTeX file: > % vim: fdm=syntax < *tex-nospell* -Don't Want Spell Checking In Comments? ~ + Tex: Don't Want Spell Checking In Comments? ~ Some folks like to include things like source code in comments and so would prefer that spell checking be disabled in comments in LaTeX files. To do @@ -2631,15 +2631,15 @@ this, put the following in your <.vimrc>: > let g:tex_comment_nospell= 1 < *tex-verb* -Want Spell Checking in Verbatim Zones?~ + Tex: Want Spell Checking in Verbatim Zones?~ Often verbatim regions are used for things like source code; seldom does one want source code spell-checked. However, for those of you who do want your verbatim zones spell-checked, put the following in your <.vimrc>: > let g:tex_verbspell= 1 - +< *tex-runon* -Run-on Comments/Math? ~ + Tex: Run-on Comments or MathZones ~ The highlighting supports TeX, LaTeX, and some AmsTeX. The highlighting supports three primary zones/regions: normal, texZone, and @@ -2652,7 +2652,7 @@ which will forcibly terminate the highlighting of either a texZone or a texMathZone. *tex-slow* -Slow Syntax Highlighting? ~ + Tex: Slow Syntax Highlighting? ~ If you have a slow computer, you may wish to reduce the values for > :syn sync maxlines=200 @@ -2662,7 +2662,7 @@ increase them. This primarily affects synchronizing (i.e. just what group, if any, is the text at the top of the screen supposed to be in?). *tex-morecommands* *tex-package* -Want To Highlight More Commands? ~ + Tex: Want To Highlight More Commands? ~ LaTeX is a programmable language, and so there are thousands of packages full of specialized LaTeX commands, syntax, and fonts. If you're using such a @@ -2672,7 +2672,7 @@ techniques in |mysyntaxfile-add| to extend or modify the highlighting provided by syntax/tex.vim. *tex-error* -Excessive Error Highlighting? ~ + Tex: Excessive Error Highlighting? ~ The supports lexical error checking of various sorts. Thus, although the error checking is ofttimes very useful, it can indicate @@ -2682,7 +2682,7 @@ you may put in your <.vimrc> the following statement: > and all error checking by will be suppressed. *tex-math* -Need a new Math Group? ~ + Tex: Need a new Math Group? ~ If you want to include a new math group in your LaTeX, the following code shows you an example as to how you might do so: > @@ -2697,7 +2697,7 @@ The "starform" variable, if true, implies that your new math group has a starred form (ie. eqnarray*). *tex-style* -Starting a New Style? ~ + Tex: Starting a New Style? ~ One may use "\makeatletter" in *.tex files, thereby making the use of "@" in commands available. However, since the *.tex file doesn't have one of the @@ -2711,7 +2711,7 @@ Putting "let g:tex_stylish=1" into your <.vimrc> will make always accept such use of @. *tex-cchar* *tex-cole* *tex-conceal* -Taking Advantage of Conceal Mode~ + Tex: Taking Advantage of Conceal Mode~ If you have |'conceallevel'| set to 2 and if your encoding is utf-8, then a number of character sequences can be translated into appropriate utf-8 glyphs, @@ -2723,6 +2723,22 @@ In fact, only a few characters are supported as subscripts. One way to use this is to have vertically split windows (see |CTRL-W_v|); one with |'conceallevel'| at 0 and the other at 2; and both using |'scrollbind'|. + *g:tex_conceal* + Tex: Selective Conceal Mode~ + +You may selectively use conceal mode by setting g:tex_conceal in your +<.vimrc>. By default it is set to "admgs" to enable conceal for the +following sets of characters: > + + a = accents/ligatures + d = delimiters + m = math symbols + g = Greek + s = superscripts/subscripts +< +By leaving one or more of these out, the associated conceal-character +substitution will not be made. + TF *tf.vim* *ft-tf-syntax* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 61ee4ef5b9..7ee555fb5b 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 09 +*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -32,11 +32,14 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. 'cursorline' stops too early in a help file, caused by conceal feature. +Test 73 fails on MS-Windows when compiled with DJGPP. +:find completion with 'path' set to "./**" results in full path for +"./subdir/file", should shorten to start with "./". + Before release 7.3: - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) -Test 73 fails on MS-Windows when compiled with DJGPP. -Possibly change WIN3264 to MSWIN || MSDOS. +Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10) Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5) diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 897d091125..bd8879c89e 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.3f. Last change: 2010 Aug 01 +*various.txt* For Vim version 7.3f. Last change: 2010 Aug 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -364,7 +364,7 @@ m *+ole* Win32 GUI only: |ole-interface| N *+path_extra* Up/downwards search in 'path' and 'tags' m *+perl* Perl interface |perl| m *+perl/dyn* Perl interface |perl-dynamic| |/dyn| -H *+persistent_undo* Persistent undo |undo-persistence| +N *+persistent_undo* Persistent undo |undo-persistence| *+postscript* |:hardcopy| writes a PostScript file N *+printer* |:hardcopy| command H *+profile* |:profile| command diff --git a/runtime/plugin/tarPlugin.vim b/runtime/plugin/tarPlugin.vim index 42d6f4fc13..b0a4d0b239 100644 --- a/runtime/plugin/tarPlugin.vim +++ b/runtime/plugin/tarPlugin.vim @@ -14,7 +14,7 @@ if &cp || exists("g:loaded_tarPlugin") finish endif -let g:loaded_tarPlugin = "v25" +let g:loaded_tarPlugin = "v26" let s:keepcpo = &cpo set cpo&vim diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index e64bfa5e09..97fc898caa 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Dr. Charles E. Campbell, Jr. -" Last Change: Aug 04, 2010 -" Version: 55 +" Last Change: Aug 09, 2010 +" Version: 56 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Notes: {{{1 @@ -55,9 +55,9 @@ if exists("g:tex_tex") && !exists("g:tex_no_error") endif " let user determine which classes of concealment will be supported -" a=accents/ligatures m=math symbols g=Greek s=superscripts/subscripts +" a=accents/ligatures d=delimiters m=math symbols g=Greek s=superscripts/subscripts if !exists("g:tex_conceal") - let s:tex_conceal= 'amgs' + let s:tex_conceal= 'admgs' else let s:tex_conceal= g:tex_conceal endif @@ -350,7 +350,7 @@ if !exists("tex_no_math") call TexNewMathZone("L","xxalignat",0) " Inline Math Zones: {{{2 - if has("conceal") && &enc == 'utf-8' + if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd' syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup @@ -514,215 +514,247 @@ if !exists("g:tex_no_error") syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained endif -" Conceal mode support (supports set cole=1) {{{1 +" Conceal mode support (supports set cole=2) {{{1 if has("conceal") && &enc == 'utf-8' " Math Symbols {{{2 + " (many of these symbols were contributed by Björn Winckler) if s:tex_conceal =~ 'm' - syn match texMathSymbol '\\angle\>' contained conceal cchar=∠ - syn match texMathSymbol '\\approx\>' contained conceal cchar=≈ - syn match texMathSymbol '\\ast\>' contained conceal cchar=∗ - syn match texMathSymbol '\\asymp\>' contained conceal cchar=≍ - syn match texMathSymbol '\\backepsilon\>' contained conceal cchar=∍ - syn match texMathSymbol '\\backsimeq\>' contained conceal cchar=≃ - syn match texMathSymbol '\\barwedge\>' contained conceal cchar=⊼ - syn match texMathSymbol '\\because\>' contained conceal cchar=∵ - syn match texMathSymbol '\\between\>' contained conceal cchar=≬ - syn match texMathSymbol '\\bigcap\>' contained conceal cchar=∩ - syn match texMathSymbol '\\bigcup\>' contained conceal cchar=∪ - syn match texMathSymbol '\\bigodot\>' contained conceal cchar=⊙ - syn match texMathSymbol '\\bigoplus\>' contained conceal cchar=⊕ - syn match texMathSymbol '\\bigotimes\>' contained conceal cchar=⊗ - syn match texMathSymbol '\\bigsqcup\>' contained conceal cchar=⊔ - syn match texMathSymbol '\\bigtriangledown\>' contained conceal cchar=∇ - syn match texMathSymbol '\\bigvee\>' contained conceal cchar=⋁ - syn match texMathSymbol '\\bigwedge\>' contained conceal cchar=⋀ - syn match texMathSymbol '\\blacksquare\>' contained conceal cchar=∎ - syn match texMathSymbol '\\bot\>' contained conceal cchar=⊥ - syn match texMathSymbol '\\boxdot\>' contained conceal cchar=⊡ - syn match texMathSymbol '\\boxminus\>' contained conceal cchar=⊟ - syn match texMathSymbol '\\boxplus\>' contained conceal cchar=⊞ - syn match texMathSymbol '\\boxtimes\>' contained conceal cchar=⊠ - syn match texMathSymbol '\\bumpeq\>' contained conceal cchar=≏ - syn match texMathSymbol '\\Bumpeq\>' contained conceal cchar=≎ - syn match texMathSymbol '\\cap\>' contained conceal cchar=∩ - syn match texMathSymbol '\\Cap\>' contained conceal cchar=⋒ - syn match texMathSymbol '\\cdot\>' contained conceal cchar=· - syn match texMathSymbol '\\cdots\>' contained conceal cchar=⋯ - syn match texMathSymbol '\\circ\>' contained conceal cchar=∘ - syn match texMathSymbol '\\circeq\>' contained conceal cchar=≗ - syn match texMathSymbol '\\circledast\>' contained conceal cchar=⊛ - syn match texMathSymbol '\\circledcirc\>' contained conceal cchar=⊚ - syn match texMathSymbol '\\complement\>' contained conceal cchar=∁ - syn match texMathSymbol '\\cong\>' contained conceal cchar=≅ - syn match texMathSymbol '\\coprod\>' contained conceal cchar=∐ - syn match texMathSymbol '\\cup\>' contained conceal cchar=∪ - syn match texMathSymbol '\\Cup\>' contained conceal cchar=⋓ - syn match texMathSymbol '\\curlyeqprec\>' contained conceal cchar=⋞ - syn match texMathSymbol '\\curlyeqsucc\>' contained conceal cchar=⋟ - syn match texMathSymbol '\\curlyvee\>' contained conceal cchar=⋎ - syn match texMathSymbol '\\curlywedge\>' contained conceal cchar=⋏ - syn match texMathSymbol '\\dashv\>' contained conceal cchar=⊣ - syn match texMathSymbol '\\diamond\>' contained conceal cchar=⋄ - syn match texMathSymbol '\\div\>' contained conceal cchar=÷ - syn match texMathSymbol '\\doteq\>' contained conceal cchar=≐ - syn match texMathSymbol '\\doteqdot\>' contained conceal cchar=≑ - syn match texMathSymbol '\\dotplus\>' contained conceal cchar=∔ - syn match texMathSymbol '\\dotsb\>' contained conceal cchar=⋯ - syn match texMathSymbol '\\dotsc\>' contained conceal cchar=… - syn match texMathSymbol '\\dots\>' contained conceal cchar=… - syn match texMathSymbol '\\dotsi\>' contained conceal cchar=⋯ - syn match texMathSymbol '\\dotso\>' contained conceal cchar=… - syn match texMathSymbol '\\doublebarwedge\>' contained conceal cchar=⩞ - syn match texMathSymbol '\\emptyset\>' contained conceal cchar=∅ - syn match texMathSymbol '\\eqcirc\>' contained conceal cchar=≖ - syn match texMathSymbol '\\eqsim\>' contained conceal cchar=≂ - syn match texMathSymbol '\\eqslantgtr\>' contained conceal cchar=⪖ - syn match texMathSymbol '\\eqslantless\>' contained conceal cchar=⪕ - syn match texMathSymbol '\\equiv\>' contained conceal cchar=≡ - syn match texMathSymbol '\\exists\>' contained conceal cchar=∃ - syn match texMathSymbol '\\fallingdotseq\>' contained conceal cchar=≒ - syn match texMathSymbol '\\forall\>' contained conceal cchar=∀ - syn match texMathSymbol '\\ge\>' contained conceal cchar=≥ - syn match texMathSymbol '\\geq\>' contained conceal cchar=≥ - syn match texMathSymbol '\\geqq\>' contained conceal cchar=≧ - syn match texMathSymbol '\\gneqq\>' contained conceal cchar=≩ - syn match texMathSymbol '\\gtrdot\>' contained conceal cchar=⋗ - syn match texMathSymbol '\\gtreqless\>' contained conceal cchar=⋛ - syn match texMathSymbol '\\gtrless\>' contained conceal cchar=≷ - syn match texMathSymbol '\\gtrsim\>' contained conceal cchar=≳ - syn match texMathSymbol '\\iiint\>' contained conceal cchar=∭ - syn match texMathSymbol '\\iint\>' contained conceal cchar=∬ - syn match texMathSymbol '\\Im\>' contained conceal cchar=ℑ - syn match texMathSymbol '\\in\>' contained conceal cchar=∈ - syn match texMathSymbol '\\infty\>' contained conceal cchar=∞ - syn match texMathSymbol '\\int\>' contained conceal cchar=∫ - syn match texMathSymbol '\\lceil\>' contained conceal cchar=⌈ - syn match texMathSymbol '\\ldots\>' contained conceal cchar=… - syn match texMathSymbol '\\le\>' contained conceal cchar=≤ - syn match texMathSymbol '\\leftarrow\>' contained conceal cchar=⟵ - syn match texMathSymbol '\\Leftarrow\>' contained conceal cchar=⟸ - syn match texMathSymbol '\\left(' contained conceal cchar=( - syn match texMathSymbol '\\left\[' contained conceal cchar=[ - syn match texMathSymbol '\\left\\{' contained conceal cchar={ - syn match texMathSymbol '\\leftthreetimes\>' contained conceal cchar=⋋ - syn match texMathSymbol '\\leq\>' contained conceal cchar=≤ - syn match texMathSymbol '\\leqq\>' contained conceal cchar=≦ - syn match texMathSymbol '\\lessdot\>' contained conceal cchar=⋖ - syn match texMathSymbol '\\lesseqgtr\>' contained conceal cchar=⋚ - syn match texMathSymbol '\\lesssim\>' contained conceal cchar=≲ - syn match texMathSymbol '\\lfloor\>' contained conceal cchar=⌊ - syn match texMathSymbol '\\lneqq\>' contained conceal cchar=≨ - syn match texMathSymbol '\\ltimes\>' contained conceal cchar=⋉ - syn match texMathSymbol '\\mapsto\>' contained conceal cchar=↦ - syn match texMathSymbol '\\measuredangle\>' contained conceal cchar=∡ - syn match texMathSymbol '\\mid\>' contained conceal cchar=∣ - syn match texMathSymbol '\\mp\>' contained conceal cchar=∓ - syn match texMathSymbol '\\nabla\>' contained conceal cchar=∇ - syn match texMathSymbol '\\ncong\>' contained conceal cchar=≇ - syn match texMathSymbol '\\ne\>' contained conceal cchar=≠ - syn match texMathSymbol '\\neg\>' contained conceal cchar=¬ - syn match texMathSymbol '\\neq\>' contained conceal cchar=≠ - syn match texMathSymbol '\\nexists\>' contained conceal cchar=∄ - syn match texMathSymbol '\\ngeq\>' contained conceal cchar=≱ - syn match texMathSymbol '\\ngeqq\>' contained conceal cchar=≱ - syn match texMathSymbol '\\ngtr\>' contained conceal cchar=≯ - syn match texMathSymbol '\\ni\>' contained conceal cchar=∋ - syn match texMathSymbol '\\nleq\>' contained conceal cchar=≰ - syn match texMathSymbol '\\nleqq\>' contained conceal cchar=≰ - syn match texMathSymbol '\\nless\>' contained conceal cchar=≮ - syn match texMathSymbol '\\nmid\>' contained conceal cchar=∤ - syn match texMathSymbol '\\notin\>' contained conceal cchar=∉ - syn match texMathSymbol '\\nprec\>' contained conceal cchar=⊀ - syn match texMathSymbol '\\nsim\>' contained conceal cchar=≁ - syn match texMathSymbol '\\nsucc\>' contained conceal cchar=⊁ - syn match texMathSymbol '\\ntriangleleft\>' contained conceal cchar=⋪ - syn match texMathSymbol '\\ntrianglelefteq\>' contained conceal cchar=⋬ - syn match texMathSymbol '\\ntriangleright\>' contained conceal cchar=⋫ - syn match texMathSymbol '\\ntrianglerighteq\>' contained conceal cchar=⋭ - syn match texMathSymbol '\\nvdash\>' contained conceal cchar=⊬ - syn match texMathSymbol '\\nvDash\>' contained conceal cchar=⊭ - syn match texMathSymbol '\\nVdash\>' contained conceal cchar=⊮ - syn match texMathSymbol '\\odot\>' contained conceal cchar=⊙ - syn match texMathSymbol '\\oint\>' contained conceal cchar=∮ - syn match texMathSymbol '\\ominus\>' contained conceal cchar=⊖ - syn match texMathSymbol '\\oplus\>' contained conceal cchar=⊕ - syn match texMathSymbol '\\oslash\>' contained conceal cchar=⊘ - syn match texMathSymbol '\\otimes\>' contained conceal cchar=⊗ - syn match texMathSymbol '\\owns\>' contained conceal cchar=∋ - syn match texMathSymbol '\\partial\>' contained conceal cchar=∂ - syn match texMathSymbol '\\perp\>' contained conceal cchar=⊥ - syn match texMathSymbol '\\pitchfork\>' contained conceal cchar=⋔ - syn match texMathSymbol '\\pm\>' contained conceal cchar=± - syn match texMathSymbol '\\precapprox\>' contained conceal cchar=⪷ - syn match texMathSymbol '\\prec\>' contained conceal cchar=≺ - syn match texMathSymbol '\\preccurlyeq\>' contained conceal cchar=≼ - syn match texMathSymbol '\\preceq\>' contained conceal cchar=⪯ - syn match texMathSymbol '\\precnapprox\>' contained conceal cchar=⪹ - syn match texMathSymbol '\\precneqq\>' contained conceal cchar=⪵ - syn match texMathSymbol '\\precsim\>' contained conceal cchar=≾ - syn match texMathSymbol '\\prod\>' contained conceal cchar=∏ - syn match texMathSymbol '\\propto\>' contained conceal cchar=∝ - syn match texMathSymbol '\\rceil\>' contained conceal cchar=⌉ - syn match texMathSymbol '\\Re\>' contained conceal cchar=ℜ - syn match texMathSymbol '\\rfloor\>' contained conceal cchar=⌋ - syn match texMathSymbol '\\rightarrow\>' contained conceal cchar=⟶ - syn match texMathSymbol '\\Rightarrow\>' contained conceal cchar=⟹ - syn match texMathSymbol '\\right)' contained conceal cchar=) - syn match texMathSymbol '\\right]' contained conceal cchar=] - syn match texMathSymbol '\\right\\}' contained conceal cchar=} - syn match texMathSymbol '\\rightthreetimes\>' contained conceal cchar=⋌ - syn match texMathSymbol '\\risingdotseq\>' contained conceal cchar=≓ - syn match texMathSymbol '\\rtimes\>' contained conceal cchar=⋊ - syn match texMathSymbol '\\setminus\>' contained conceal cchar=∖ - syn match texMathSymbol '\\sim\>' contained conceal cchar=∼ - syn match texMathSymbol '\\sphericalangle\>' contained conceal cchar=∢ - syn match texMathSymbol '\\sqcap\>' contained conceal cchar=⊓ - syn match texMathSymbol '\\sqcup\>' contained conceal cchar=⊔ - syn match texMathSymbol '\\sqsubset\>' contained conceal cchar=⊏ - syn match texMathSymbol '\\sqsubseteq\>' contained conceal cchar=⊑ - syn match texMathSymbol '\\sqsupset\>' contained conceal cchar=⊐ - syn match texMathSymbol '\\sqsupseteq\>' contained conceal cchar=⊒ - syn match texMathSymbol '\\subset\>' contained conceal cchar=⊂ - syn match texMathSymbol '\\Subset\>' contained conceal cchar=⋐ - syn match texMathSymbol '\\subseteq\>' contained conceal cchar=⊆ - syn match texMathSymbol '\\subseteqq\>' contained conceal cchar=⫅ - syn match texMathSymbol '\\subsetneq\>' contained conceal cchar=⊊ - syn match texMathSymbol '\\subsetneqq\>' contained conceal cchar=⫋ - syn match texMathSymbol '\\succapprox\>' contained conceal cchar=⪸ - syn match texMathSymbol '\\succ\>' contained conceal cchar=≻ - syn match texMathSymbol '\\succcurlyeq\>' contained conceal cchar=≽ - syn match texMathSymbol '\\succeq\>' contained conceal cchar=⪰ - syn match texMathSymbol '\\succnapprox\>' contained conceal cchar=⪺ - syn match texMathSymbol '\\succneqq\>' contained conceal cchar=⪶ - syn match texMathSymbol '\\succsim\>' contained conceal cchar=≿ - syn match texMathSymbol '\\sum\>' contained conceal cchar=∑ - syn match texMathSymbol '\\Supset\>' contained conceal cchar=⋑ - syn match texMathSymbol '\\supseteq\>' contained conceal cchar=⊇ - syn match texMathSymbol '\\supseteqq\>' contained conceal cchar=⫆ - syn match texMathSymbol '\\supsetneq\>' contained conceal cchar=⊋ - syn match texMathSymbol '\\supsetneqq\>' contained conceal cchar=⫌ - syn match texMathSymbol '\\surd\>' contained conceal cchar=√ - syn match texMathSymbol '\\therefore\>' contained conceal cchar=∴ - syn match texMathSymbol '\\times\>' contained conceal cchar=× - syn match texMathSymbol '\\to\>' contained conceal cchar=→ - syn match texMathSymbol '\\top\>' contained conceal cchar=⊤ - syn match texMathSymbol '\\triangleleft\>' contained conceal cchar=⊲ - syn match texMathSymbol '\\trianglelefteq\>' contained conceal cchar=⊴ - syn match texMathSymbol '\\triangleq\>' contained conceal cchar=≜ - syn match texMathSymbol '\\triangleright\>' contained conceal cchar=⊳ - syn match texMathSymbol '\\trianglerighteq\>' contained conceal cchar=⊵ - syn match texMathSymbol '\\varnothing\>' contained conceal cchar=∅ - syn match texMathSymbol '\\vartriangle\>' contained conceal cchar=∆ - syn match texMathSymbol '\\vdash\>' contained conceal cchar=⊢ - syn match texMathSymbol '\\vDash\>' contained conceal cchar=⊨ - syn match texMathSymbol '\\Vdash\>' contained conceal cchar=⊩ - syn match texMathSymbol '\\vdots\>' contained conceal cchar=⋮ - syn match texMathSymbol '\\veebar\>' contained conceal cchar=⊻ - syn match texMathSymbol '\\vee\>' contained conceal cchar=∨ - syn match texMathSymbol '\\Vvdash\>' contained conceal cchar=⊪ - syn match texMathSymbol '\\wedge\>' contained conceal cchar=∧ - syn match texMathSymbol '\\wr\>' contained conceal cchar=≀ + let s:texMathList=[ + \ ['angle' , '∠'], + \ ['approx' , '≈'], + \ ['ast' , '∗'], + \ ['asymp' , '≍'], + \ ['backepsilon' , '∍'], + \ ['backsimeq' , '≃'], + \ ['barwedge' , '⊼'], + \ ['because' , '∵'], + \ ['between' , '≬'], + \ ['bigcap' , '∩'], + \ ['bigcup' , '∪'], + \ ['bigodot' , '⊙'], + \ ['bigoplus' , '⊕'], + \ ['bigotimes' , '⊗'], + \ ['bigsqcup' , '⊔'], + \ ['bigtriangledown', '∇'], + \ ['bigvee' , '⋁'], + \ ['bigwedge' , '⋀'], + \ ['blacksquare' , '∎'], + \ ['bot' , '⊥'], + \ ['boxdot' , '⊡'], + \ ['boxminus' , '⊟'], + \ ['boxplus' , '⊞'], + \ ['boxtimes' , '⊠'], + \ ['bumpeq' , '≏'], + \ ['Bumpeq' , '≎'], + \ ['cap' , '∩'], + \ ['Cap' , '⋒'], + \ ['cdot' , '·'], + \ ['cdots' , '⋯'], + \ ['circ' , '∘'], + \ ['circeq' , '≗'], + \ ['circlearrowleft', '↺'], + \ ['circlearrowright', '↻'], + \ ['circledast' , '⊛'], + \ ['circledcirc' , '⊚'], + \ ['complement' , '∁'], + \ ['cong' , '≅'], + \ ['coprod' , '∐'], + \ ['cup' , '∪'], + \ ['Cup' , '⋓'], + \ ['curlyeqprec' , '⋞'], + \ ['curlyeqsucc' , '⋟'], + \ ['curlyvee' , '⋎'], + \ ['curlywedge' , '⋏'], + \ ['dashv' , '⊣'], + \ ['diamond' , '⋄'], + \ ['div' , '÷'], + \ ['doteq' , '≐'], + \ ['doteqdot' , '≑'], + \ ['dotplus' , '∔'], + \ ['dotsb' , '⋯'], + \ ['dotsc' , '…'], + \ ['dots' , '…'], + \ ['dotsi' , '⋯'], + \ ['dotso' , '…'], + \ ['doublebarwedge' , '⩞'], + \ ['downarrow' , '↓'], + \ ['Downarrow' , '⇓'], + \ ['emptyset' , '∅'], + \ ['eqcirc' , '≖'], + \ ['eqsim' , '≂'], + \ ['eqslantgtr' , '⪖'], + \ ['eqslantless' , '⪕'], + \ ['equiv' , '≡'], + \ ['exists' , '∃'], + \ ['fallingdotseq' , '≒'], + \ ['forall' , '∀'], + \ ['ge' , '≥'], + \ ['geq' , '≥'], + \ ['geqq' , '≧'], + \ ['gets' , '←'], + \ ['gneqq' , '≩'], + \ ['gtrdot' , '⋗'], + \ ['gtreqless' , '⋛'], + \ ['gtrless' , '≷'], + \ ['gtrsim' , '≳'], + \ ['hookleftarrow' , '↩'], + \ ['hookrightarrow' , '↪'], + \ ['iiint' , '∭'], + \ ['iint' , '∬'], + \ ['Im' , 'ℑ'], + \ ['in' , '∈'], + \ ['infty' , '∞'], + \ ['int' , '∫'], + \ ['lceil' , '⌈'], + \ ['ldots' , '…'], + \ ['le' , '≤'], + \ ['leftarrow' , '⟵'], + \ ['Leftarrow' , '⟸'], + \ ['leftarrowtail' , '↢'], + \ ['left(' , '('], + \ ['left\[' , '['], + \ ['left\\{' , '{'], + \ ['Leftrightarrow' , '⇔'], + \ ['leftrightsquigarrow', '↭'], + \ ['leftthreetimes' , '⋋'], + \ ['leq' , '≤'], + \ ['leqq' , '≦'], + \ ['lessdot' , '⋖'], + \ ['lesseqgtr' , '⋚'], + \ ['lesssim' , '≲'], + \ ['lfloor' , '⌊'], + \ ['lneqq' , '≨'], + \ ['ltimes' , '⋉'], + \ ['mapsto' , '↦'], + \ ['measuredangle' , '∡'], + \ ['mid' , '∣'], + \ ['mp' , '∓'], + \ ['nabla' , '∇'], + \ ['ncong' , '≇'], + \ ['nearrow' , '↗'], + \ ['ne' , '≠'], + \ ['neg' , '¬'], + \ ['neq' , '≠'], + \ ['nexists' , '∄'], + \ ['ngeq' , '≱'], + \ ['ngeqq' , '≱'], + \ ['ngtr' , '≯'], + \ ['ni' , '∋'], + \ ['nleftarrow' , '↚'], + \ ['nLeftarrow' , '⇍'], + \ ['nLeftrightarrow', '⇎'], + \ ['nleq' , '≰'], + \ ['nleqq' , '≰'], + \ ['nless' , '≮'], + \ ['nmid' , '∤'], + \ ['notin' , '∉'], + \ ['nprec' , '⊀'], + \ ['nrightarrow' , '↛'], + \ ['nRightarrow' , '⇏'], + \ ['nsim' , '≁'], + \ ['nsucc' , '⊁'], + \ ['ntriangleleft' , '⋪'], + \ ['ntrianglelefteq', '⋬'], + \ ['ntriangleright' , '⋫'], + \ ['ntrianglerighteq', '⋭'], + \ ['nvdash' , '⊬'], + \ ['nvDash' , '⊭'], + \ ['nVdash' , '⊮'], + \ ['nwarrow' , '↖'], + \ ['odot' , '⊙'], + \ ['oint' , '∮'], + \ ['ominus' , '⊖'], + \ ['oplus' , '⊕'], + \ ['oslash' , '⊘'], + \ ['otimes' , '⊗'], + \ ['owns' , '∋'], + \ ['partial' , '∂'], + \ ['perp' , '⊥'], + \ ['pitchfork' , '⋔'], + \ ['pm' , '±'], + \ ['precapprox' , '⪷'], + \ ['prec' , '≺'], + \ ['preccurlyeq' , '≼'], + \ ['preceq' , '⪯'], + \ ['precnapprox' , '⪹'], + \ ['precneqq' , '⪵'], + \ ['precsim' , '≾'], + \ ['prod' , '∏'], + \ ['propto' , '∝'], + \ ['rceil' , '⌉'], + \ ['Re' , 'ℜ'], + \ ['rfloor' , '⌋'], + \ ['rightarrow' , '⟶'], + \ ['Rightarrow' , '⟹'], + \ ['rightarrowtail' , '↣'], + \ ['right)' , ')'], + \ ['right]' , ']'], + \ ['right\\}' , '}'], + \ ['rightsquigarrow', '↝'], + \ ['rightthreetimes', '⋌'], + \ ['risingdotseq' , '≓'], + \ ['rtimes' , '⋊'], + \ ['searrow' , '↘'], + \ ['setminus' , '∖'], + \ ['sim' , '∼'], + \ ['sphericalangle' , '∢'], + \ ['sqcap' , '⊓'], + \ ['sqcup' , '⊔'], + \ ['sqsubset' , '⊏'], + \ ['sqsubseteq' , '⊑'], + \ ['sqsupset' , '⊐'], + \ ['sqsupseteq' , '⊒'], + \ ['subset' , '⊂'], + \ ['Subset' , '⋐'], + \ ['subseteq' , '⊆'], + \ ['subseteqq' , '⫅'], + \ ['subsetneq' , '⊊'], + \ ['subsetneqq' , '⫋'], + \ ['succapprox' , '⪸'], + \ ['succ' , '≻'], + \ ['succcurlyeq' , '≽'], + \ ['succeq' , '⪰'], + \ ['succnapprox' , '⪺'], + \ ['succneqq' , '⪶'], + \ ['succsim' , '≿'], + \ ['sum' , '∑'], + \ ['Supset' , '⋑'], + \ ['supseteq' , '⊇'], + \ ['supseteqq' , '⫆'], + \ ['supsetneq' , '⊋'], + \ ['supsetneqq' , '⫌'], + \ ['surd' , '√'], + \ ['swarrow' , '↙'], + \ ['therefore' , '∴'], + \ ['times' , '×'], + \ ['to' , '→'], + \ ['top' , '⊤'], + \ ['triangleleft' , '⊲'], + \ ['trianglelefteq' , '⊴'], + \ ['triangleq' , '≜'], + \ ['triangleright' , '⊳'], + \ ['trianglerighteq', '⊵'], + \ ['twoheadleftarrow', '↞'], + \ ['twoheadrightarrow', '↠'], + \ ['uparrow' , '↑'], + \ ['Uparrow' , '⇑'], + \ ['updownarrow' , '↕'], + \ ['Updownarrow' , '⇕'], + \ ['varnothing' , '∅'], + \ ['vartriangle' , '∆'], + \ ['vdash' , '⊢'], + \ ['vDash' , '⊨'], + \ ['Vdash' , '⊩'], + \ ['vdots' , '⋮'], + \ ['veebar' , '⊻'], + \ ['vee' , '∨'], + \ ['Vvdash' , '⊪'], + \ ['wedge' , '∧'], + \ ['wr' , '≀']] + for texmath in s:texMathList + exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1] + endfor if &ambw == "double" syn match texMathSymbol '\\gg\>' contained conceal cchar=≫ @@ -890,49 +922,62 @@ if has("conceal") && &enc == 'utf-8' else fun! s:Accents(chr,...) let i= 1 - for accent in ["`","\\'","^",'"','\~',"r","v"] + for accent in ["`","\\'","^",'"','\~','\.',"c","H","k","r","u","v"] if i > a:0 break endif - if strlen(a:{i}) == 0 + if strlen(a:{i}) == 0 || a:{i} == ' ' || a:{i} == '?' let i= i + 1 continue endif - exe "syn match texAccent '\\\\".accent."{".a:chr."}' conceal cchar=".a:{i} + if accent =~ '\a' + exe "syn match texAccent '".'\\'.accent.'\(\s*{'.a:chr.'}\|\s\+'.a:chr.'\)'."' conceal cchar=".a:{i} + else + exe "syn match texAccent '".'\\'.accent.'\s*\({'.a:chr.'}\|'.a:chr.'\)'."' conceal cchar=".a:{i} + endif let i= i + 1 endfor endfun - call s:Accents('a','à','á','â','ä','ã','å','ă') - call s:Accents('A','À','Á','Â','Ä','Ã','Å','Ă') - call s:Accents('C',"" ,'Ć','Ĉ',"" ,"" ,"" ,'Ć') - call s:Accents('e','è','é','ê','ë','ẽ',"" ,'ĕ') - call s:Accents('E','È','É','Ê','Ë','Ẽ',"" ,'Ė') - call s:Accents('i','ì','í','î','ï','ĩ',"" ,"ĭ") - call s:Accents('I','Ì','Í','Î','Ï','Ĩ',"" ,'Ĭ') - call s:Accents('o','ò','ó','ô','ö','õ',"" ,'ŏ') - call s:Accents('O','Ò','Ó','Ô','Ö','Õ',"" ,'Ŏ') - call s:Accents('r',"" ,'ŕ',"" ,"" ,"" ,"" ,'ř') - call s:Accents('R',"" ,'Ŕ',"" ,"" ,"" ,"" ,'Ř') - call s:Accents('s',"" ,'ś','ŝ',"" ,"" ,"" ,'š') - call s:Accents('S',"" ,'Ś','Ŝ',"" ,"" ,"" ,'Š') - call s:Accents('u','ù','ú','û','ü','ũ',"" ,'ŭ') - call s:Accents('U','Ù','Ú','Û','Ü','Ũ',"" ,'Ŭ') - call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',"" ,"" ) - call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',"" ,"" ) + " \` \' \^ \" \~ \. \c \H \k \r \u \v + call s:Accents('a','à','á','â','ä','ã',' ',' ',' ','ą','å','ă','ă') + call s:Accents('A','À','Á','Â','Ä','Ã',' ',' ',' ','Ą','Å','Ă','Ă') + call s:Accents('c',' ','ć','ĉ',' ',' ','ċ','ç',' ',' ',' ',' ','č') + call s:Accents('C',' ','Ć','Ĉ',' ',' ','Ċ','Ç',' ',' ',' ',' ','Č') + call s:Accents('d',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','ď') + call s:Accents('D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ď') + call s:Accents('e','è','é','ê','ë','ẽ','ė','ȩ',' ','ę',' ','ĕ','ě') + call s:Accents('E','È','É','Ê','Ë','Ẽ','Ė','Ȩ',' ','Ę',' ','Ĕ','Ě') + call s:Accents('g',' ',' ',' ',' ',' ','ġ','ģ',' ',' ',' ','ğ',' ') + call s:Accents('G',' ',' ',' ',' ',' ','Ġ','Ģ',' ',' ',' ','Ğ',' ') + call s:Accents('i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ','ĭ',' ') + call s:Accents('I','Ì','Í','Î','Ï','Ĩ','İ',' ',' ',' ',' ','Ĭ',' ') + call s:Accents('l',' ','ĺ','ľ',' ',' ',' ','ļ',' ',' ',' ',' ','ľ') + call s:Accents('L',' ','Ĺ','Ľ',' ',' ',' ','Ļ',' ',' ',' ',' ','Ľ') + call s:Accents('n',' ','ń',' ',' ','ñ',' ','ņ',' ',' ',' ',' ','ň') + call s:Accents('N',' ','Ń',' ',' ','Ñ',' ','Ņ',' ',' ',' ',' ','Ň') + call s:Accents('o','ò','ó','ô','ö','õ','ȯ',' ','ő','ǫ',' ','ŏ',' ') + call s:Accents('O','Ò','Ó','Ô','Ö','Õ','Ȯ',' ','Ő','Ǫ',' ','Ŏ',' ') + call s:Accents('r',' ','ŕ',' ',' ',' ',' ','ŗ',' ',' ',' ',' ','ř') + call s:Accents('R',' ','Ŕ',' ',' ',' ',' ','Ŗ',' ',' ',' ',' ','Ř') + call s:Accents('s',' ','ś','ŝ',' ',' ',' ','ş',' ',' ',' ',' ','š') + call s:Accents('S',' ','Ś','Ŝ',' ',' ',' ','Ş',' ',' ',' ',' ','Š') + call s:Accents('t',' ',' ',' ',' ',' ',' ','ţ',' ',' ',' ',' ','ť') + call s:Accents('T',' ',' ',' ',' ',' ',' ','Ţ',' ',' ',' ',' ','Ť') + call s:Accents('u','ù','ú','û','ü','ũ',' ',' ','ű',' ','ů','ŭ',' ') + call s:Accents('U','Ù','Ú','Û','Ü','Ũ',' ',' ','Ű',' ','Ů','Ŭ',' ') + call s:Accents('w',' ',' ','ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ') + call s:Accents('W',' ',' ','Ŵ',' ',' ',' ',' ',' ',' ',' ',' ',' ') + call s:Accents('y','ỳ','ý','ŷ','ÿ','ỹ',' ',' ',' ',' ',' ',' ',' ') + call s:Accents('Y','Ỳ','Ý','Ŷ','Ÿ','Ỹ',' ',' ',' ',' ',' ',' ',' ') + call s:Accents('z',' ','ź',' ',' ',' ','ż',' ',' ',' ',' ',' ','ž') + call s:Accents('Z',' ','Ź',' ',' ',' ','Ż',' ',' ',' ',' ',' ','Ž') + call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ','ĭ',' ') + " \` \' \^ \" \~ \. \c \H \k \r \u \v delfun s:Accents syn match texAccent '\\aa\>' conceal cchar=å syn match texAccent '\\AA\>' conceal cchar=Å - syn match texAccent '\\k{a}' conceal cchar=ą - syn match texAccent '\\k{A}' conceal cchar=Ą - syn match texAccent '\\c{C}' conceal cchar=Ç - syn match texAccent '\\c{c}' conceal cchar=ç - syn match texAccent '\\\~{n}' conceal cchar=ñ - syn match texAccent '\\\~{N}' conceal cchar=Ñ syn match texAccent '\\o\>' conceal cchar=ø syn match texAccent '\\O\>' conceal cchar=Ø - syn match texAccent '\\H{o}' conceal cchar=ő - syn match texAccent '\\H{O}' conceal cchar=Ő - syn match texAccent '\\c{r}' conceal cchar=ŗ syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\ae\>' conceal cchar=æ syn match texLigature '\\oe\>' conceal cchar=œ @@ -995,6 +1040,11 @@ if did_tex_syntax_inits == 1 HiLink texMathDelimSet2 texMathDelim HiLink texMathDelimKey texMathDelim HiLink texMathMatcher texMath + HiLink texAccent texStatement + HiLink texGreek texStatement + HiLink texSuperscript texStatement + HiLink texSubscript texStatement + HiLink texMathSymbol texStatement HiLink texMathZoneV texMath HiLink texMathZoneW texMath HiLink texMathZoneX texMath From a0988408a784c0f5844b7560735619fd55c3217d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 10 Aug 2010 22:52:25 +0200 Subject: [PATCH 11/35] Updated message translations. --HG-- branch : vim73 --- src/po/it.po | 16 +++++- src/po/pl.UTF-8.po | 135 ++++++++++++++++++++++++-------------------- src/po/pl.cp1250.po | 135 ++++++++++++++++++++++++-------------------- src/po/pl.po | 135 ++++++++++++++++++++++++-------------------- 4 files changed, 233 insertions(+), 188 deletions(-) diff --git a/src/po/it.po b/src/po/it.po index 8bf54e5c21..4026f99571 100644 --- a/src/po/it.po +++ b/src/po/it.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-27 07:35+0200\n" -"PO-Revision-Date: 2010-07-28 06:46+0200\n" +"POT-Creation-Date: 2010-08-09 12:53+0200\n" +"PO-Revision-Date: 2010-08-09 21:00+0200\n" "Last-Translator: Vlad Sandrini \n" "Language-Team: Italian" " Antonio Colombo " @@ -4310,6 +4310,12 @@ msgstr "E531: Usa \":gui\" per far partire la GUI" msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' e 'patchmode' sono uguali" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: Conflitto con il valore di 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: Conflitto con il valore di 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Non pu essere cambiato nella GUI GTK+ 2" @@ -6517,3 +6523,9 @@ msgstr "raggiunto il FONDO nella ricerca, continuo dalla CIMA" #, c-format msgid "Need encryption key for \"%s\"" msgstr "Serve una chiave di cifratura per \"%s\"" + +msgid "writelines() requires list of strings" +msgstr "writelines() richiede una lista di stringhe" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Errore di inizializzazione oggetti I/O" diff --git a/src/po/pl.UTF-8.po b/src/po/pl.UTF-8.po index f4610155c1..0d56e994de 100644 --- a/src/po/pl.UTF-8.po +++ b/src/po/pl.UTF-8.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-19 19:17+0200\n" -"PO-Revision-Date: 2010-07-19 19:43+0200\n" +"POT-Creation-Date: 2010-08-10 18:13+0200\n" +"PO-Revision-Date: 2010-08-10 18:15+0200\n" "Last-Translator: Mikolaj Machowski \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -35,6 +35,12 @@ msgstr "E818: test sha256 nie powiódł się" msgid "E819: Blowfish test failed" msgstr "E819: test Blowfisha nie powiódł się" +msgid "[Location List]" +msgstr "[Lista lokacji]" + +msgid "[Quickfix List]" +msgstr "[Lista quickfix]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Nie mogę zarezerwować bufora; zakończenie..." @@ -174,12 +180,6 @@ msgstr "" "\n" "# Lista buforów:\n" -msgid "[Location List]" -msgstr "[Lista lokacji]" - -msgid "[Quickfix List]" -msgstr "[Lista quickfix]" - msgid "[Scratch]" msgstr "[Notka]" @@ -2585,6 +2585,9 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: nie można używać :py i :py3 w czasie jednej sesji" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2601,52 +2604,10 @@ msgstr "softspace musi być liczbą całkowitą" msgid "invalid attribute" msgstr "niepoprawny atrybut" -msgid "writelines() requires list of strings" -msgstr "writelines() wymaga listy ciągów" - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Błąd w uruchomieniu obiektów I/O" - -msgid "attempt to refer to deleted buffer" -msgstr "próba odniesienia do skasowanego bufora" - -msgid "line number out of range" -msgstr "numer wiersza poza zakresem" - #, c-format msgid "" msgstr "" -msgid "invalid mark name" -msgstr "niepoprawna nazwa zakładki" - -msgid "no such buffer" -msgstr "nie ma takiego bufora" - -msgid "attempt to refer to deleted window" -msgstr "próba odniesienia do skasowanego okna" - -msgid "readonly attribute" -msgstr "atrybut tylko do odczytu" - -msgid "cursor position outside buffer" -msgstr "pozycja kursora poza buforem" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -msgid "no such window" -msgstr "nie ma takiego okna" - msgid "E659: Cannot invoke Python recursively" msgstr "E659: Nie można wywołać Pythona rekursywnie" @@ -2780,6 +2741,9 @@ msgstr "obecnie nie zaimplementowano" msgid "cannot set line(s)" msgstr "nie mogę ustawić wiersza(y)" +msgid "invalid mark name" +msgstr "niepoprawna nazwa zakładki" + msgid "mark not set" msgstr "zakładka nie ustawiona" @@ -2790,6 +2754,9 @@ msgstr "wiersz %d kolumna %d" msgid "cannot insert/append line" msgstr "nie mogę wprowadzić/dołączyć wiersza" +msgid "line number out of range" +msgstr "numer wiersza poza zakresem" + msgid "unknown flag: " msgstr "nieznana flaga: " @@ -3154,7 +3121,9 @@ msgid "--servername \tSend to/become the Vim server " msgstr "--servername \t\tOdsyłaj do/stań się serwerem Vim " msgid "--startuptime \tWrite startup timing messages to " -msgstr "--startuptime \nZapisz wiadomości o długości startu do " +msgstr "" +"--startuptime \n" +"Zapisz wiadomości o długości startu do " msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tUżywaj zamiast .viminfo" @@ -3192,12 +3161,6 @@ msgstr "-display \tZaładuj vim na " msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\tZacznij Vim jako ikonę" -msgid "-name \t\tUse resource as if vim was " -msgstr "-name \t\tUżywaj zasobów tak jak by Vim był " - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t (Niezaimplementowane)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background \tUżywaj dla tła (również: -bg)" @@ -4294,6 +4257,12 @@ msgstr "E531: Użyj \":gui\" do odpalenia GUI" msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' i 'patchmode' są tożsame" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: Konflikty wartości 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: Konflikty wartości 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Nie mogę zmienić w GTK+2 GUI" @@ -5368,9 +5337,6 @@ msgstr "znaków nowego wiersza" msgid "E395: contains argument not accepted here" msgstr "E395: argument contains niedozwolony w tym miejscu" -msgid "E396: containedin argument not accepted here" -msgstr "E396: argument containedin niedozwolony w tym miejscu" - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]here niedozwolone w tym miejscu" @@ -5624,8 +5590,8 @@ msgstr "Vim: Błąd podczas wczytywania wejścia, kończę...\n" msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Używam CUT_BUFFER0 zamiast pustego wyboru" -#. This happens when the FileChangedRO autocommand changes the file in -#. * a way it becomes shorter. +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. msgid "E834: Line count changed unexpectedly" msgstr "E834: Niespodziewana zmiana ilości linii" @@ -6500,6 +6466,51 @@ msgstr "szukanie dobiło KOŃCA; kontynuacja od GÓRY" msgid "Need encryption key for \"%s\"" msgstr "Potrzebuję klucza szyfrowania dla \"%s\"" +msgid "writelines() requires list of strings" +msgstr "writelines() wymaga listy ciągów" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Błąd w uruchomieniu obiektów I/O" + +msgid "no such buffer" +msgstr "nie ma takiego bufora" + +msgid "attempt to refer to deleted window" +msgstr "próba odniesienia do skasowanego okna" + +msgid "readonly attribute" +msgstr "atrybut tylko do odczytu" + +msgid "cursor position outside buffer" +msgstr "pozycja kursora poza buforem" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "nie ma takiego okna" + +msgid "attempt to refer to deleted buffer" +msgstr "próba odniesienia do skasowanego bufora" + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name \t\tUżywaj zasobów tak jak by Vim był " + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Niezaimplementowane)\n" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: argument containedin niedozwolony w tym miejscu" + #~ msgid "Vim dialog..." #~ msgstr "Dialog Vima..." diff --git a/src/po/pl.cp1250.po b/src/po/pl.cp1250.po index 6744bf179e..77bf351c79 100644 --- a/src/po/pl.cp1250.po +++ b/src/po/pl.cp1250.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-19 19:17+0200\n" -"PO-Revision-Date: 2010-07-19 19:43+0200\n" +"POT-Creation-Date: 2010-08-10 18:13+0200\n" +"PO-Revision-Date: 2010-08-10 18:15+0200\n" "Last-Translator: Mikolaj Machowski \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -35,6 +35,12 @@ msgstr "E818: test sha256 nie powi msgid "E819: Blowfish test failed" msgstr "E819: test Blowfisha nie powid si" +msgid "[Location List]" +msgstr "[Lista lokacji]" + +msgid "[Quickfix List]" +msgstr "[Lista quickfix]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Nie mog zarezerwowa bufora; zakoczenie..." @@ -174,12 +180,6 @@ msgstr "" "\n" "# Lista buforw:\n" -msgid "[Location List]" -msgstr "[Lista lokacji]" - -msgid "[Quickfix List]" -msgstr "[Lista quickfix]" - msgid "[Scratch]" msgstr "[Notka]" @@ -2585,6 +2585,9 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: nie mona uywa :py i :py3 w czasie jednej sesji" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2601,52 +2604,10 @@ msgstr "softspace musi by msgid "invalid attribute" msgstr "niepoprawny atrybut" -msgid "writelines() requires list of strings" -msgstr "writelines() wymaga listy cigw" - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Bd w uruchomieniu obiektw I/O" - -msgid "attempt to refer to deleted buffer" -msgstr "prba odniesienia do skasowanego bufora" - -msgid "line number out of range" -msgstr "numer wiersza poza zakresem" - #, c-format msgid "" msgstr "" -msgid "invalid mark name" -msgstr "niepoprawna nazwa zakadki" - -msgid "no such buffer" -msgstr "nie ma takiego bufora" - -msgid "attempt to refer to deleted window" -msgstr "prba odniesienia do skasowanego okna" - -msgid "readonly attribute" -msgstr "atrybut tylko do odczytu" - -msgid "cursor position outside buffer" -msgstr "pozycja kursora poza buforem" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -msgid "no such window" -msgstr "nie ma takiego okna" - msgid "E659: Cannot invoke Python recursively" msgstr "E659: Nie mona wywoa Pythona rekursywnie" @@ -2780,6 +2741,9 @@ msgstr "obecnie nie zaimplementowano" msgid "cannot set line(s)" msgstr "nie mog ustawi wiersza(y)" +msgid "invalid mark name" +msgstr "niepoprawna nazwa zakadki" + msgid "mark not set" msgstr "zakadka nie ustawiona" @@ -2790,6 +2754,9 @@ msgstr "wiersz %d kolumna %d" msgid "cannot insert/append line" msgstr "nie mog wprowadzi/doczy wiersza" +msgid "line number out of range" +msgstr "numer wiersza poza zakresem" + msgid "unknown flag: " msgstr "nieznana flaga: " @@ -3154,7 +3121,9 @@ msgid "--servername \tSend to/become the Vim server " msgstr "--servername \t\tOdsyaj do/sta si serwerem Vim " msgid "--startuptime \tWrite startup timing messages to " -msgstr "--startuptime \nZapisz wiadomoci o dugoci startu do " +msgstr "" +"--startuptime \n" +"Zapisz wiadomoci o dugoci startu do " msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tUywaj zamiast .viminfo" @@ -3192,12 +3161,6 @@ msgstr "-display \tZa msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\tZacznij Vim jako ikon" -msgid "-name \t\tUse resource as if vim was " -msgstr "-name \t\tUywaj zasobw tak jak by Vim by " - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t (Niezaimplementowane)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background \tUywaj dla ta (rwnie: -bg)" @@ -4294,6 +4257,12 @@ msgstr "E531: U msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' i 'patchmode' s tosame" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: Konflikty wartoci 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: Konflikty wartoci 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Nie mog zmieni w GTK+2 GUI" @@ -5368,9 +5337,6 @@ msgstr "znak msgid "E395: contains argument not accepted here" msgstr "E395: argument contains niedozwolony w tym miejscu" -msgid "E396: containedin argument not accepted here" -msgstr "E396: argument containedin niedozwolony w tym miejscu" - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]here niedozwolone w tym miejscu" @@ -5624,8 +5590,8 @@ msgstr "Vim: B msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Uywam CUT_BUFFER0 zamiast pustego wyboru" -#. This happens when the FileChangedRO autocommand changes the file in -#. * a way it becomes shorter. +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. msgid "E834: Line count changed unexpectedly" msgstr "E834: Niespodziewana zmiana iloci linii" @@ -6500,6 +6466,51 @@ msgstr "szukanie dobi msgid "Need encryption key for \"%s\"" msgstr "Potrzebuj klucza szyfrowania dla \"%s\"" +msgid "writelines() requires list of strings" +msgstr "writelines() wymaga listy cigw" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Bd w uruchomieniu obiektw I/O" + +msgid "no such buffer" +msgstr "nie ma takiego bufora" + +msgid "attempt to refer to deleted window" +msgstr "prba odniesienia do skasowanego okna" + +msgid "readonly attribute" +msgstr "atrybut tylko do odczytu" + +msgid "cursor position outside buffer" +msgstr "pozycja kursora poza buforem" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "nie ma takiego okna" + +msgid "attempt to refer to deleted buffer" +msgstr "prba odniesienia do skasowanego bufora" + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name \t\tUywaj zasobw tak jak by Vim by " + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Niezaimplementowane)\n" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: argument containedin niedozwolony w tym miejscu" + #~ msgid "Vim dialog..." #~ msgstr "Dialog Vima..." diff --git a/src/po/pl.po b/src/po/pl.po index af67bdcdfc..64717c557f 100644 --- a/src/po/pl.po +++ b/src/po/pl.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-19 19:17+0200\n" -"PO-Revision-Date: 2010-07-19 19:43+0200\n" +"POT-Creation-Date: 2010-08-10 18:13+0200\n" +"PO-Revision-Date: 2010-08-10 18:15+0200\n" "Last-Translator: Mikolaj Machowski \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -35,6 +35,12 @@ msgstr "E818: test sha256 nie powi msgid "E819: Blowfish test failed" msgstr "E819: test Blowfisha nie powid si" +msgid "[Location List]" +msgstr "[Lista lokacji]" + +msgid "[Quickfix List]" +msgstr "[Lista quickfix]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Nie mog zarezerwowa bufora; zakoczenie..." @@ -174,12 +180,6 @@ msgstr "" "\n" "# Lista buforw:\n" -msgid "[Location List]" -msgstr "[Lista lokacji]" - -msgid "[Quickfix List]" -msgstr "[Lista quickfix]" - msgid "[Scratch]" msgstr "[Notka]" @@ -2585,6 +2585,9 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: nie mona uywa :py i :py3 w czasie jednej sesji" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2601,52 +2604,10 @@ msgstr "softspace musi by msgid "invalid attribute" msgstr "niepoprawny atrybut" -msgid "writelines() requires list of strings" -msgstr "writelines() wymaga listy cigw" - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Bd w uruchomieniu obiektw I/O" - -msgid "attempt to refer to deleted buffer" -msgstr "prba odniesienia do skasowanego bufora" - -msgid "line number out of range" -msgstr "numer wiersza poza zakresem" - #, c-format msgid "" msgstr "" -msgid "invalid mark name" -msgstr "niepoprawna nazwa zakadki" - -msgid "no such buffer" -msgstr "nie ma takiego bufora" - -msgid "attempt to refer to deleted window" -msgstr "prba odniesienia do skasowanego okna" - -msgid "readonly attribute" -msgstr "atrybut tylko do odczytu" - -msgid "cursor position outside buffer" -msgstr "pozycja kursora poza buforem" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -msgid "no such window" -msgstr "nie ma takiego okna" - msgid "E659: Cannot invoke Python recursively" msgstr "E659: Nie mona wywoa Pythona rekursywnie" @@ -2780,6 +2741,9 @@ msgstr "obecnie nie zaimplementowano" msgid "cannot set line(s)" msgstr "nie mog ustawi wiersza(y)" +msgid "invalid mark name" +msgstr "niepoprawna nazwa zakadki" + msgid "mark not set" msgstr "zakadka nie ustawiona" @@ -2790,6 +2754,9 @@ msgstr "wiersz %d kolumna %d" msgid "cannot insert/append line" msgstr "nie mog wprowadzi/doczy wiersza" +msgid "line number out of range" +msgstr "numer wiersza poza zakresem" + msgid "unknown flag: " msgstr "nieznana flaga: " @@ -3154,7 +3121,9 @@ msgid "--servername \tSend to/become the Vim server " msgstr "--servername \t\tOdsyaj do/sta si serwerem Vim " msgid "--startuptime \tWrite startup timing messages to " -msgstr "--startuptime \nZapisz wiadomoci o dugoci startu do " +msgstr "" +"--startuptime \n" +"Zapisz wiadomoci o dugoci startu do " msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tUywaj zamiast .viminfo" @@ -3192,12 +3161,6 @@ msgstr "-display \tZa msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\tZacznij Vim jako ikon" -msgid "-name \t\tUse resource as if vim was " -msgstr "-name \t\tUywaj zasobw tak jak by Vim by " - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t (Niezaimplementowane)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background \tUywaj dla ta (rwnie: -bg)" @@ -4294,6 +4257,12 @@ msgstr "E531: U msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' i 'patchmode' s tosame" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: Konflikty wartoci 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: Konflikty wartoci 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Nie mog zmieni w GTK+2 GUI" @@ -5368,9 +5337,6 @@ msgstr "znak msgid "E395: contains argument not accepted here" msgstr "E395: argument contains niedozwolony w tym miejscu" -msgid "E396: containedin argument not accepted here" -msgstr "E396: argument containedin niedozwolony w tym miejscu" - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]here niedozwolone w tym miejscu" @@ -5624,8 +5590,8 @@ msgstr "Vim: B msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Uywam CUT_BUFFER0 zamiast pustego wyboru" -#. This happens when the FileChangedRO autocommand changes the file in -#. * a way it becomes shorter. +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. msgid "E834: Line count changed unexpectedly" msgstr "E834: Niespodziewana zmiana iloci linii" @@ -6500,6 +6466,51 @@ msgstr "szukanie dobi msgid "Need encryption key for \"%s\"" msgstr "Potrzebuj klucza szyfrowania dla \"%s\"" +msgid "writelines() requires list of strings" +msgstr "writelines() wymaga listy cigw" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Bd w uruchomieniu obiektw I/O" + +msgid "no such buffer" +msgstr "nie ma takiego bufora" + +msgid "attempt to refer to deleted window" +msgstr "prba odniesienia do skasowanego okna" + +msgid "readonly attribute" +msgstr "atrybut tylko do odczytu" + +msgid "cursor position outside buffer" +msgstr "pozycja kursora poza buforem" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "nie ma takiego okna" + +msgid "attempt to refer to deleted buffer" +msgstr "prba odniesienia do skasowanego bufora" + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name \t\tUywaj zasobw tak jak by Vim by " + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Niezaimplementowane)\n" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: argument containedin niedozwolony w tym miejscu" + #~ msgid "Vim dialog..." #~ msgstr "Dialog Vima..." From 093a8bedd906b111b22cf0e8622b55c1cbe6c2e3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 10 Aug 2010 22:53:02 +0200 Subject: [PATCH 12/35] Improved pt_PT spell file generation. --HG-- branch : vim73 --- runtime/spell/pt/main.aap | 51 +++++++++++++++------- runtime/spell/pt/pt_BR.diff | 4 +- runtime/spell/pt/pt_PT.diff | 87 ++++++++++++++++--------------------- 3 files changed, 75 insertions(+), 67 deletions(-) diff --git a/runtime/spell/pt/main.aap b/runtime/spell/pt/main.aap index 751fb95279..43a3be4ff1 100644 --- a/runtime/spell/pt/main.aap +++ b/runtime/spell/pt/main.aap @@ -14,15 +14,15 @@ FILES = pt_PT.aff pt_PT.dic # # Fetching the pt_PT files from the Natura project. # -PT_DIR = http://natura.di.uminho.pt/download/sources/Dictionaries/myspell -PT_FNAME = myspell.pt-latest.zip -:attr {fetch = $PT_DIR/%file%} $PT_FNAME +PT_FNAME = oo3x-pt-PT.oxt +PT_DIR = http://extensions.services.openoffice.org/e-files/1196/5/$(PT_FNAME) +:attr {fetch = $PT_DIR} $PT_FNAME # # Fetching the pt_BR files from BrOffice.org (Brazilian OOo). # -BR_FNAME = pt_BR-V.zip -BR_DIR = http://www.deso-se.com.br/downloads/broffice.org/$(BR_FNAME) +BR_FNAME = Vero_pt_BR_V207AOC.oxt +BR_DIR = http://www.broffice.org/files/$(BR_FNAME) :attr {fetch = $BR_DIR} $BR_FNAME all: $SPELLDIR/pt.latin1.spl $SPELLDIR/pt.utf-8.spl \ @@ -50,11 +50,17 @@ pt_PT.aff pt_PT.dic: {buildcheck=} :fetch $PT_FNAME :sys $UNZIP $PT_FNAME :delete $PT_FNAME - :move myspell.pt-*/pt_PT.dic . - :move myspell.pt-*/pt_PT.aff . - :move myspell.pt-*/README_pt_PT.txt . - :move myspell.pt-*/COPYING COPYING_pt_PT.txt - :deldir myspell.pt-* + :move dictionaries/pt_PT.dic . + :move dictionaries/pt_PT.aff . + :move dictionaries/README_pt_PT.txt . + :move dictionaries/COPYING COPYING_pt_PT.txt + :delete {r}{f} dictionaries + :delete {r}{f} META-INF + :delete {f} description.xml + :delete {f} dictionaries.xcu + :delete {f} LICENSES.txt + :sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c update -c q + :sys $VIM pt_PT.aff -u NONE -e -c "%s/\S\+=\S\+$$//" -c update -c q @if not os.path.exists('pt_PT.orig.aff'): :copy pt_PT.aff pt_PT.orig.aff @if not os.path.exists('pt_PT.orig.dic'): @@ -67,13 +73,11 @@ pt_BR.aff pt_BR.dic: {buildcheck=} :fetch $BR_FNAME :sys $UNZIP $BR_FNAME :delete $BR_FNAME - :sys $VIM README_pt_BR.TXT -u NONE -e -c "set ff=unix" -c update -c q + :sys $VIM README_pt_BR.TXT -u NONE -N -e -c "set ff=unix" -c update -c q :move README_pt_BR.TXT README_pt_BR.txt -# Vim seems to ignore the dots from the word list. -# Removing words with dot to avoid misbehaviour. - :sys $VIM pt_BR.dic -u NONE -e -c "set ff=unix" -c "/\./d" -c update -c q - :sys $VIM pt_BR.aff -u NONE -e -c "set ff=unix" -c update -c q + :sys $VIM pt_BR.dic -u NONE -N -e -c "set ff=unix" -c update -c q + :sys $VIM pt_BR.aff -u NONE -N -e -c "set ff=unix" -c update -c q @if not os.path.exists('pt_BR.orig.aff'): :copy pt_BR.aff pt_BR.orig.aff @if not os.path.exists('pt_BR.orig.dic'): @@ -92,6 +96,23 @@ diff: :sys {force} diff -a -C 1 pt_BR.orig.aff pt_BR.aff >pt_BR.diff :sys {force} diff -a -C 1 pt_BR.orig.dic pt_BR.dic >>pt_BR.diff +# Delete all downloaded and generated files. +clean: clean_pt_BR clean_pt_PT + +clean_pt_BR: + :delete {f} pt_BR.aff + :delete {f} pt_BR.dic + :delete {f} pt_BR.orig.aff + :delete {f} pt_BR.orig.dic + :delete {f} README_pt_BR.txt + +clean_pt_PT: + :delete {f} pt_PT.aff + :delete {f} pt_PT.dic + :delete {f} pt_PT.orig.aff + :delete {f} pt_PT.orig.dic + :delete {f} README_pt_PT.txt + :delete {f} COPYING_pt_PT.txt # Check for updated OpenOffice spell files. When there are changes the # ".new.aff" and ".new.dic" files are left behind for manual inspection. diff --git a/runtime/spell/pt/pt_BR.diff b/runtime/spell/pt/pt_BR.diff index f4814af11f..269bdd6c29 100644 --- a/runtime/spell/pt/pt_BR.diff +++ b/runtime/spell/pt/pt_BR.diff @@ -1,5 +1,5 @@ -*** pt_BR.orig.aff 2008-02-21 19:41:04.000000000 -0300 ---- pt_BR.aff 2008-02-24 11:08:15.000000000 -0300 +*** pt_BR.orig.aff 2010-05-15 13:03:45.000000000 +0200 +--- pt_BR.aff 2010-05-15 13:03:45.000000000 +0200 *************** *** 1,3 **** SET ISO8859-1 diff --git a/runtime/spell/pt/pt_PT.diff b/runtime/spell/pt/pt_PT.diff index 36a12aced3..ba3216a195 100644 --- a/runtime/spell/pt/pt_PT.diff +++ b/runtime/spell/pt/pt_PT.diff @@ -1,58 +1,45 @@ -*** pt_PT.orig.aff 2008-02-21 19:40:49.000000000 -0300 ---- pt_PT.aff 2008-02-24 11:14:39.000000000 -0300 +*** pt_PT.orig.aff 2010-08-10 22:36:56.000000000 +0200 +--- pt_PT.aff 2010-08-10 22:43:56.000000000 +0200 *************** -*** 1,4 **** - SET ISO8859-1 -- TRY aerisontcdmlupvgbfzhqjxACMPSBTELGRIFVDkHJONywUKXZWQY +*** 1,6 **** + SET UTF-8 +! LANG pt_PT +! TRY aerisontcdmlupvgbfzáhçqjíxãóéêâúõACMPSBTELGRIFVDkHJONôywUKXZWQÁYÍÉàÓèÂÚ +! KEY qwertyuiop|asdfghjkl|zxcvbnm +! WORDCHARS - - ---- 1,17 ---- - SET ISO8859-1 - -+ NAME European Portuguese -+ VERSION 2008-07-05 -+ HOME http://natura.di.uminho.pt/ -+ AUTHOR Rui Vilela -+ EMAIL ruivilela AT di DOT uminho DOT pt -+ AUTHOR Jos Joo de Almeira -+ EMAIL jj AT di DOT uminho DOT pt -+ AUTHOR Alberto Simes -+ EMAIL ambs AT di DOT uminho DOT pt -+ COPYRIGHT GPL, LGPL, MPL -+ -+ FOL -+ LOW -+ UPP +--- 1,10 ---- + SET UTF-8 +! #LANG pt_PT +! #TRY aerisontcdmlupvgbfzáhçqjíxãóéêâúõACMPSBTELGRIFVDkHJONôywUKXZWQÁYÍÉàÓèÂÚ +! #KEY qwertyuiop|asdfghjkl|zxcvbnm +! #WORDCHARS - +! +! FOL ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ +! LOW ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ +! UPP ßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞÿ *************** -*** 1047,1048 **** ---- 1060,1063 ---- - SFX J e dromo e -+ -+ - REP 24 -*************** -*** 1073,1086 **** +*** 1300,1312 **** ! MAP 11 -! MAP a -! MAP a -! MAP a -! MAP e -! MAP e -! MAP i - MAP c -! MAP o -! MAP o -! MAP o -! MAP u -! ---- 1088,1095 ---- +! MAP aá +! MAP aã +! MAP aâ +! MAP eé +! MAP eê +! MAP ií + MAP cç +! MAP oó +! MAP oô +! MAP oõ +! MAP uú +--- 1304,1311 ---- ! MAP 6 -! MAP aA -! MAP eE -! MAP iI - MAP c -! MAP oO -! MAP uU +! MAP aáãâAÁà+! MAP eéêEÉÊ +! MAP iíIÍ + MAP cç +! MAP oóõôOÓÕÔ +! MAP uúüUÚÜ From b47c4ef970e6817d2c2e66f791ab2f5fe4afeae9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 11 Aug 2010 22:05:57 +0200 Subject: [PATCH 13/35] Fixes for :find completion. --HG-- branch : vim73 --- src/misc1.c | 35 ++++++++++++++++++++++++++++++++--- src/testdir/test73.in | 2 +- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/misc1.c b/src/misc1.c index fd4e4fe669..400ecf158d 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -9457,6 +9457,7 @@ uniquefy_paths(gap, pattern) char_u *path = fnames[i]; int is_in_curdir; char_u *dir_end = gettail(path); + char_u *short_name; len = (int)STRLEN(path); while (dir_end > path && @@ -9475,12 +9476,17 @@ uniquefy_paths(gap, pattern) * and it is not unique, * reduce it to ./{filename} * FIXME ^ Is this portable? + * + * Note: If the full filename is /curdir/foo/bar/{filename}, we don't + * want to shorten it to ./foo/bar/{filename} yet because 'path' might + * contain ". / * *", in which case the shortened filename could be + * shorter than ./foo/bar/{filename}. */ if (is_in_curdir) { char_u *rel_path; - char_u *short_name = shorten_fname(path, curdir); + short_name = shorten_fname(path, curdir); if (short_name == NULL) short_name = path; if (is_unique(short_name, gap, i)) @@ -9533,6 +9539,29 @@ uniquefy_paths(gap, pattern) break; } } + + if (mch_isFullName(path)) + { + /* + * Last resort: shorten relative to curdir if possible. + * 'possible' means: + * 1. It is under the current directory. + * 2. The result is actually shorter than the original. + * + * Before curdir After + * /foo/bar/file.txt /foo/bar ./file.txt + * c:\foo\bar\file.txt c:\foo\bar .\file.txt + * /file.txt / /file.txt + * c:\file.txt c:\ .\file.txt + */ + short_name = shorten_fname(path, curdir); + if (short_name != NULL && short_name > path + 1) + { + STRCPY(path, "."); + add_pathsep(path); + STRCAT(path, short_name); + } + } } theend: @@ -9711,7 +9740,7 @@ gen_expand_wildcards(num_pat, pat, num_file, file, flags) /* * First expand environment variables, "~/" and "~user/". */ - if (vim_strpbrk(p, (char_u *)"$~") != NULL) + if (vim_strchr(p, '$') != NULL || *p == '~') { p = expand_env_save_opt(p, TRUE); if (p == NULL) @@ -9722,7 +9751,7 @@ gen_expand_wildcards(num_pat, pat, num_file, file, flags) * variable, use the shell to do that. Discard previously * found file names and start all over again. */ - else if (vim_strpbrk(p, (char_u *)"$~") != NULL) + else if (vim_strchr(p, '$') != NULL || *p == '~') { vim_free(p); ga_clear_strings(&ga); diff --git a/src/testdir/test73.in b/src/testdir/test73.in index 943807600f..cb2604e681 100644 --- a/src/testdir/test73.in +++ b/src/testdir/test73.in @@ -9,7 +9,7 @@ STARTTEST :set nocp viminfo+=nviminfo visualbell :" :function! DeleteDirectory(dir) -: if has("win16") || has("win32") || has("win64") +: if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32") : exec "silent !rmdir /Q /S " . a:dir : else : exec "silent !rm -rf " . a:dir From 21f371a03f525d5cfafb670757748255e7622a41 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 11 Aug 2010 23:11:47 +0200 Subject: [PATCH 14/35] Updated translations. Added Portuguese tutor. --HG-- branch : vim73 --- runtime/spell/pt/main.aap | 6 + runtime/spell/pt/pt_BR.diff | 58 ++- runtime/spell/pt/pt_PT.diff | 4 +- runtime/tutor/tutor.pt | 984 +++++++++++++++++++++++++++++++++++ runtime/tutor/tutor.pt.utf-8 | 984 +++++++++++++++++++++++++++++++++++ src/po/pt_BR.po | 6 +- src/po/uk.cp1251.po | 129 ++--- src/po/uk.po | 129 ++--- 8 files changed, 2173 insertions(+), 127 deletions(-) create mode 100644 runtime/tutor/tutor.pt create mode 100644 runtime/tutor/tutor.pt.utf-8 diff --git a/runtime/spell/pt/main.aap b/runtime/spell/pt/main.aap index 43a3be4ff1..2770f9315e 100644 --- a/runtime/spell/pt/main.aap +++ b/runtime/spell/pt/main.aap @@ -73,6 +73,12 @@ pt_BR.aff pt_BR.dic: {buildcheck=} :fetch $BR_FNAME :sys $UNZIP $BR_FNAME :delete $BR_FNAME + :delete {f} description.xml + :delete {f} dictionaries.xcu + :delete {f} hyph_pt_BR.dic + :delete {r}{f} META-INF + :delete {f} README_en.TXT + :delete {f} README_hyph_pt_BR.TXT :sys $VIM README_pt_BR.TXT -u NONE -N -e -c "set ff=unix" -c update -c q :move README_pt_BR.TXT README_pt_BR.txt diff --git a/runtime/spell/pt/pt_BR.diff b/runtime/spell/pt/pt_BR.diff index 269bdd6c29..6ccf3f3d5b 100644 --- a/runtime/spell/pt/pt_BR.diff +++ b/runtime/spell/pt/pt_BR.diff @@ -1,5 +1,5 @@ -*** pt_BR.orig.aff 2010-05-15 13:03:45.000000000 +0200 ---- pt_BR.aff 2010-05-15 13:03:45.000000000 +0200 +*** pt_BR.orig.aff 2010-08-11 22:50:41.000000000 +0200 +--- pt_BR.aff 2010-08-11 23:01:57.000000000 +0200 *************** *** 1,3 **** SET ISO8859-1 @@ -32,3 +32,57 @@ + + MAP 6 +*************** +*** 21,41 **** + +! BREAK 15 +! BREAK BREAK +! BREAK ^- +! BREAK -$ +! BREAK ^ex- +! BREAK ^Ex- +! BREAK ^EX- +! BREAK ^recm- +! BREAK ^Recm- +! BREAK ^RECM- +! BREAK ^ps- +! BREAK ^Ps- +! BREAK ^PS- +! BREAK ^pr- +! BREAK ^pr- +! BREAK ^PR- + + # Nmero mximo de sugestes +! MAXNGRAMSUGS 12 + +--- 39,59 ---- + +! #BREAK 15 +! #BREAK BREAK +! #BREAK ^- +! #BREAK -$ +! #BREAK ^ex- +! #BREAK ^Ex- +! #BREAK ^EX- +! #BREAK ^recm- +! #BREAK ^Recm- +! #BREAK ^RECM- +! #BREAK ^ps- +! #BREAK ^Ps- +! #BREAK ^PS- +! #BREAK ^pr- +! #BREAK ^pr- +! #BREAK ^PR- + + # Nmero mximo de sugestes +! #MAXNGRAMSUGS 12 + +*************** +*** 44,46 **** + +! WORDCHARS - + +--- 62,64 ---- + +! #WORDCHARS - + diff --git a/runtime/spell/pt/pt_PT.diff b/runtime/spell/pt/pt_PT.diff index ba3216a195..88411a1360 100644 --- a/runtime/spell/pt/pt_PT.diff +++ b/runtime/spell/pt/pt_PT.diff @@ -1,5 +1,5 @@ -*** pt_PT.orig.aff 2010-08-10 22:36:56.000000000 +0200 ---- pt_PT.aff 2010-08-10 22:43:56.000000000 +0200 +*** pt_PT.orig.aff 2010-08-11 22:50:30.000000000 +0200 +--- pt_PT.aff 2010-08-11 22:50:30.000000000 +0200 *************** *** 1,6 **** SET UTF-8 diff --git a/runtime/tutor/tutor.pt b/runtime/tutor/tutor.pt new file mode 100644 index 0000000000..e4cdf2fa2b --- /dev/null +++ b/runtime/tutor/tutor.pt @@ -0,0 +1,984 @@ +=============================================================================== += B e m V i n d o a o V I M T u t o r - Verso 1.7 pt_BR = +=============================================================================== + + Vim um poderoso editor que possui muitos comandos, tantos que seria + impossvel ensinar num tutorial como este. Este tutorial planejado para + apresentar os comandos suficientes para voc ficar habilitado a usar + facilmente o Vim como um editor de textos genrico. + + O tempo aproximado requerido para completar o tutorial de 25-30 minutos, + dependendo de quanto tempo gasto praticando os comandos. + + ATENO: + Os comandos nas lies vo modificar o texto. Utilize uma cpia deste + arquivo para praticar os comandos (se voc iniciou o "vimtutor", esta j + uma cpia). + + importante lembrar que este tutorial planejado para ensinar atravs da + prtica. Isso significa que voc precisa executar os comandos para + aprend-los adequadamente. Se voc somente ler o texto, esquecer os + comandos! + + Agora, certifique-se de que sua tecla Shift-Lock (ou Caps Lock) no esteja + ativada e pressione a tecla j o bastante para mover o cursor at que a + Lio 1.1 esteja completamente na tela. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.1: MOVENDO O CURSOR + + + ** Para mover o cursor, pressione as teclas h,j,k,l conforme indicado. ** + ^ + k Dica: A tecla h est esquerda e move para a esquerda. + < h l > A tecla l est direita e move para a direita. + j A tecla j se parece com uma seta para baixo. + v + 1. Mova o cursor pela tela at que voc se sinta confortvel. + + 2. Segure pressionada a tecla (j) at haver repetio. + Agora voc j sabe como ir para a prxima lio. + + 3. Usando a tecla j, mova at a lio 1.2. + +NOTA: Se voc est inseguro sobre o que digitou, pressione para + coloc-lo no modo Normal. Ento redigite o comando que voc queria. + +NOTA: As teclas de cursor devem funcionar tambm. Mas usando hjkl, to logo + esteja acostumado, voc poder se mover muito mais rapidamente. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.2: SAINDO DO VIM + + + !! NOTA: Antes de executar qualquer dos passos abaixo, leia a lio inteira !! + + 1. Pressione (para ter certeza de que est no modo Normal). + + 2. Digite :q! . + Isso sai do editor SEM salvar qualquer mudana que tenha sido feita. + Se quiser salvar as alteraes e sair, digite :wq + + 3. Quando vir o prompt do shell digite o comando que lhe trouxe a este + tutorial, na maioria dos casos: vimtutor . + + 4. Se voc memorizou estes passos e est confiante, execute os passos de + 1 a 3 para sair e re-entrar no editor. + +NOTA: :q! descarta qualquer mudana. Em uma prxima lio ser + ensinado como salvar as mudanas feitas em um arquivo. + + 5. Desa o cursor at a Lio 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.3: EDITANDO TEXTOS - DELEO + + ** No modo Normal, pressione x para deletar o caractere sob o cursor. ** + + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Para corrigir os erros, mova o cursor at que ele esteja sobre o + caractere a ser deletado. + + 3. Pressione a tecla x para deletar o caractere indesejado. + + 4. Repita os passos 2 at 4 at que a sentena esteja correta. + +---> A vvaca pullouu por ccimaa dda luuua. + + 5. Agora que a sentena est correta, v para a Lio 1.4. + +NOTA: Enquanto segue este tutorial, no tente memorizar, aprenda pelo uso. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.4: EDITANDO TEXTOS - INSERO + + ** Pressione i para inserir texto. ** + + + 1. Mova o cursor at a primeira linha abaixo marcada com --->. + + 2. Para fazer a primeira linha ficar igual segunda, mova o cursor para + o primeiro caractere DEPOIS de onde o texto dever ser inserido. + + 3. Pressione i e digite as adies necessrias. + + 4. Assim que cada erro for corrigido pressione para retornar ao modo + Normal. Repita os passos 2 at 4 para corrigir a sentena. + +---> Tem text fatado desta . +---> Tem algum texto faltando desta linha. + + 5. Quando se sentir confortvel com a insero de texto, mova o cursor para + a lio 1.5. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.5: EDITANDO TEXTO - ADICIONANDO + + ** Pressione A para adicionar texto. ** + + 1. Mova o curso para a primeira linha abaixo marcada com --->. + No importa sobre qual caractere o cursor estar na linha. + + 2. Pressione A e digite as adies necessrias. + + 3. Quando adicionar o texto, pressione para retornar ao modo Normal. + + 4. Mova o cursor para a segunda linha marcada ---> e repita os passos 2 e 3 + para corrigir o texto. + +---> H algum texto faltando des + H algum texto faltando desta linha. + H algum texto faltan +---> H algum texto faltando aqui. + + 5. Quando se sentir confortvel adicionando texto, mova para a lio 1.6. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 1.6: EDITANDO UM ARQUIVO + ** Use :wq para salvar um arquivo e sair. ** + + !! NOTA: Antes de executar qualquer um dos passos abaixo, + leia esta lio completamente!! + + 1. Saia deste tutorial como o fez na lio 1.2: :q! + Ou, se tiver acesso a outro terminal, faa o seguinte nele. + + 2. No prompt do shell, digite esse comando: vim tutor + 'vim' is comando para iniciar o editor Vim e 'tutor' o nome do + arquivo que voc deseja editar. Use um arquivo que possa ser modificado. + + 3. Insira e delete texto tal como aprendeu com as lies anteriores. + + 4. Salve o arquivo com as mudanas e saia do Vim com: :wq + + 5. Se voc tiver sado do vimtutor no passo 1, reinicie o vimtutor e v para + o sumrio seguinte. + + 6. Aps ler os passos acima e compreend-los, execute-os. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 1 + + 1. O cursor movido usando tanto as teclas de seta quanto as teclas hjkl. + h (esquerda) j (para baixo) k (para cima) l (direita) + + 2. Para entrar no Vim a partir de um shell digite: vim NOMEDOARQUIVO + + 3. Para sair do Vim digite: :q! para descartar as alteraes. + OU digite: :wq para salvar as alteraes. + + 4. Para deletar um caractere sob o cursor no modo Normal digite: x + + 5. Para inserir texto na posio do cursor enquanto estiver no modo Normal + digite: + i digite o texto inserir depois do cursor + A digite o texto adicionar no final da linha + +NOTA: Pressionando voc ir para o modo Normal ou cancelar um comando + ainda incompleto. + +Agora continue com a Lio 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.1: COMANDOS DE DELEO + + ** Digite dw para deletar at o final de uma palavra. ** + + + 1. Pressione para ter certeza de que est no modo Normal. + + 2. Mova o cursor at a linha abaixo marcada com --->. + + 3. Mova o cursor at o comeo da palavra que precisa ser deletada. + + 4. Digite dw para fazer a palavra desaparecer. + + NOTA: A letra d vai aparece na ltima linha da tela enquanto voc a + digita. O Vim est lhe esperando digitar um w . Se voc digitou + alguma coisa errada, pressione e comece de novo. + +---> Tem a algumas oi palavras diverso que no pertencem papel a esta sentena. + + 5. Repita os passos 3 ao 4 at que a sentena esteja correta e v para a + Lio 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.2: MAIS COMANDOS DE DELEO + + ** Digite d$ para deletar at o final da linha. ** + + + + 1. Pressione para ter certeza de estar no modo Normal. + + 2. Mova o cursor at a linha abaixo marcada com --->. + + 3. Mova o cursor at o fim da linha correta (DEPOIS do primeiro .). + + 4. Digite d$ para deletar at o final da linha. + +---> Algum digitou o final desta linha duas vezes. desta linha duas vezes. + + 5. V para a lio 2.3 para entender o que est acontecendo. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.3: SOBRE OPERADORES E MOVIMENTOS + + Muitos comandos que mudam texto so feitos de um operador e um movimento. + O formato para um comando deletar com o operador de deleo d tem a + seguinte forma: + + d movimento + Onde: + d - o operador deletar. + movimento - como o operador vai operar (listado abaixo). + + Uma pequena lista de teclas de movimento: + w - do cursor at o fim da palavra, incluindo o espao. + e - do cursor at o fim da palavra, NO incluindo o espao. + $ - do cursor at o fim da linha. + + Portanto, digitando de ir deletar do cursor ao fim da palavra. + +NOTA: Pressionando apenas a tecla de movimento enquanto em modo Normal, sem o +operador, ir mover o cursor como especificado na lista de teclas de +movimento. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.4: USANDO UM CONTADOR PARA UM MOVIMENTO + + ** Digitando um nmero antes de um movimento repete-o muitas vezes. ** + + + 1. Mova o cursor para o comeo da linha marcada com ---> abaixo. + + 2. Digite 2w para mover o cursor duas palavras adiante. + + 3. Digite 3e para mover o cursor para o fim da terceira palavra adiante. + + 4. Digite 0 (zero) para mover para o incio da linha. + + 5. Repita os passos 2 e 3 com diferentes nmeros. + +---> Esta uma linha com algumas palavras para lhe permitir fazer movimentos. + + 6. V para a Lio 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.5: USANDO UM CONTADOR PARA DELETAR MAIS + + ** Digitando um nmero com um operador repete-o esse nmero de vezes. ** + + + Voc deve inserir um contador entre o operador de deleo e o movimento + mencionados acima para para deletar mais: + d nmero movimento + + 1. Movimente o cursor para a primeira palavra com LETRAS MAISCULAS na + linha marcada com --->. + + 2. Digite d2w para deletar as duas palavras com LETRAS MAISCULAS. + + 3. Repita os passos 1 e 2 com diferentes contadores para deletar as + palavras de LETRAS MAISCULAS com um comando. + +---> esta ABC DE linha FGHI JK LMN OP de palavras est Q RS TUV limpa. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.6: OPERANDO SOBRE LINHAS + + ** Digite dd para deletar uma linha inteira. ** + + Em virtude da frequncia em deletar uma linha inteira, os projetistas do Vi + decidiram que seria mais simples digitar dois d's numa linha para delet-la. + + 1. Mova o cursor at a segunda linha na lista a baixo. + 2. Digite dd para deletar a linha. + 3. Agora mova at a quarta linha. + 4. Digite 2dd para deletar duas linhas. + +---> 1) Rosas so vermelhas, +---> 2) Lama divertida, +---> 3) Violetas so azuis, +---> 4) Eu tenho um carro, +---> 5) Relgios dizem as horas, +---> 6) Acar doce, +---> 7) E assim voc. + +Notas do tradutor: Lama (mud) em ingls pode significar fofoca, difamao. + H rima no texto original. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 2.7: O COMANDO UNDO (DESFAZER) + +** Pressione u para desfazer os ltimos comandos, U restaura linha inteira.** + + + 1. Mova o cursor para a linha abaixo marcada com ---> e posicione-o sobre o + primeiro erro. + 2. Digite x para deletar o primeiro caractere indesejado. + 3. Agora, digite u para desfazer o ltimo comando executado. + 4. Desta vez, corrija todos os erros na linha usando o comando x . + 5. Agora, digite um U maisculo para retornar a linha ao seu estado original. + 6. Digite u algumas vezes para desfazer o U e os comandos anteriores. + 7. Digite CTRL-R (segurando a tecla CTRL enquanto digita R) algumas vezes + para refazer os comandos (desfazer os undo's). + +---> Corriija os erros nnesta linha e reetorne-os com undo. + + 8. Esses comandos so muito teis. Agora v para o sumrio da Lio 2. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 2 + + + 1. Para deletar do cursor at o fim de uma palavra digite: dw + 2. Para deletar do cursor at o fim de uma linha digite: d$ + 3. Para deletar uma linha inteira digite: dd + 4. Para repetir um movimento adicione antes um nmero: 2w + 5. O formato para um comando no modo Normal : + operador [nmero] movimento + onde: + operador - o que ser feito, como d para deletar + nmero - quantas vezes o comando ser repetido + movimento - movimento sobre o texto que sofrer a operao, como + w (palavra), $ (at o final da linha), etc. + + 5. Para desfazer um ao anterior, digite: u (minsculo) + Para desfazer todas as modificaes em uma linha digite: U (maisculo) + Para desfazer o que foi desfeito digite: CTRL-R + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 3.1: O COMANDO PUT (PR) + + ** Digite p para colocar a ltima deleo aps o cursor. ** + + + 1. Mova o cursor at a primeira linha na lista abaixo. + + 2. Digite dd para deletar a linha e guard-la no buffer do Vim. + + 3. Mova o cursor at a linha ACIMA de onde a linha deletada deve ficar. + + 4. No modo Normal, digite p para inserir a linha. + + 5. Repita os passos 2 ao 4 para pr todas as linhas na ordem correta. + + d) Voc pode aprender tambm? + b) Violetas so azuis, + c) Inteligncia se aprende, + a) Rosas so vermelhas, + +Nota do tradutor: H rima no original. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 3.2: O COMANDO REPLACE (SUBSTITUIR) + + ** Digite rx para substituir o caractere sob o cursor por x . ** + + + 1. Mova o cursor at a primeira linha abaixo marcada com --->. + + 2. Mova o cursor at que ele esteja sobre o primeiro erro. + + 3. Digite r e ento o caractere que deveria estar l. + + 4. Repita os passos 2 e 3 at que a primeira linha esteja correta. + +---> Quendo este limha foi dugitada, alguem pressioniu algumas teclas erradzs! +---> Quando esta linha foi digitada, algum pressionou algumas teclas erradas! + + 5. Agora v para a Lio 3.3. + +NOTA: Lembre-se que voc deve aprender pelo uso, no pela memorizao. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 3.3: O OPERADOR CHANGE (MUDAR) + + ** Para mudar toda uma palavra ou parte dela, digite cw . ** + + + 1. Mova o cursor at a primeira linha abaixo marcada com --->. + + 2. Posicione o cursor sobre o u em lunba. + + 3. Digite cw e a palavra correta (nesse caso, digite 'inha'.) + + 4. Pressione e mova para o prximo caractere a ser alterado. + + 5. Repita os passos 3 e 4 at que a primeira sentena esteja igual segunda. + +---> Essa lunba tem pwlesmfr que ocrimmm soi alteradas cup o comando change. +---> Essa linha tem palavras que precisam ser alteradas com o comando change. + +Note que cw no somente substitui a palavra, mas tambm lhe coloca no modo +de insero. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 3.4: MAIS MUDANAS USANDO c + + ** O operador change usado com os mesmos objetos que delete. ** + + 1. O operador change trabalha da mesma maneira que o delete. O formato : + + c [nmero] movimento + + 2. Os movimentos tambm so os mesmos: w (palavra), $ (fim da linha), etc. + + 3. Mova at a primeira linha abaixo marcada com --->. + + 4. Mova o cursor at o primeiro erro. + + 5. Digite c$ para fazer o resto da linha ficar igual segunda e pressione + . + +---> O fim desta linha precisa de ajuda para ficar igual segunda. +---> O fim desta linha precisa ser corrigido usando o comando c$. + +NOTA: Voc pode usar a tecla Backspace para corrigir erros enquanto digita. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 3 + + + 1. Para inserir um texto que j foi deletado, digite p . Isso coloca o texto + deletado APS o cursor (se uma linha deletada ela ser inserida na linha + abaixo do cursor). + + 2. Para substituir o caractere sob o cursor, digite r e ento o caractere + que ir substituir o original. + + 3. O comando change possibilita mudar do cursor at onde o movimento for. + Ex: Digite cw para mudar do cursor at o fim de uma palavra, c$ para + mudar at o fim da linha. + + 4. O formato para uma operao change : + + c [nmero] movimento + +Agora v para a prxima lio. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 4.1: LOCALIZAO DO CURSOR E STATUS DO ARQUIVO + + ** Digite CTRL-G para mostrar sua localizao no arquivo e seu status. + Digite G para mover para uma linha do arquivo. ** + + Nota: Leia esta lio inteira antes de executar qualquer um dos passos!! + + 1. Segure pressionada a tecla Ctrl e pressione g . Ns chamamos isso de + CTRL-G. Uma mensagem aparecer no rodap da pgina com o nome do arquivo + e a sua posio no arquivo. Lembre-se do nmero da linha para o Passo 3. + +NOTA: A posio do cursor pode estar visvel no canto direito inferior da + tela. Isso acontece quando a opo 'ruler' est ativa + (veja :help 'ruler' ). + + 2. Pressione G para mover para o final do arquivo. + Digite gg para mover para o incio do arquivo. + + 3. Digite o nmero da linha em que voc estava e ento G . Isto + retornar o cursor linha em que voc estava quando pressionou CTRL-G. + + 4. Se voc estiver confiante para fazer isto, execute os passos 1 ao 3. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 4.2: O COMANDO SEARCH (PROCURA) + + ** Digite / seguido por uma string para procurar pela string. ** + + 1. No modo Normal digite o caractere / . Note que ele e o cursor aparecem + no rodap da tela, como ocorre com o comando : . + + 2. Agora digite 'errroo' . Esta a palavra que voc quer procurar. + + 3. Para procurar pela mesma palavra de novo, simplesmente tecle n . + Para procurar pela mesma palavra na direo oposta, tecle N . + + 4. Se voc quer procurar por uma string no sentido de frente para trs, use + ? em vez de / . + + 5. Para voltar para onde estava, pressione CTRL-O (mantenha a tecla Ctrl + pressionada e pressione a tecla o). Repita para voltar outras posies. + CTRL-I segue para posies mais recentes. + +---> "errroo" no uma maneira de escrever erro; errroo um erro. +NOTA: Quando a busca atinge o final do arquivo ela continuar do comeo, a + menos que a opo 'wrapscan' esteja desativada. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 4.3: PROCURA POR CASAMENTO DE PARNTESES + + ** Digite % para achar um casamento de ),], ou } . ** + + + 1. Posicione o cursor em qualquer (, [, ou { na linha abaixo marcada com --->. + + 2. Agora digite o caractere % . + + 3. O cursor deve estar no parnteses ou colchetes que casa com o primeiro. + + 4. Digite % para mover o cursor de volta ao primeiro colchete ou parnteses + (por casamento). + +---> Isto ( uma linha de teste contendo ('s, ['s ] e {'s }. )) + +Nota: Isso muito til para corrigir um programa com parnteses no-casados! + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 4.4: O COMANDO SUBSTITUIR + + ** Digite :s/velho/novo/g para substituir 'velho' por 'novo'. ** + + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Digite :/s/aa/a . Note que este comando somente muda a + primeira ocorrncia na linha. + + 3. Agora digite :s/aa/a/g significando substituir globalmente na linha. + Isto muda todas as ocorrncias na linha. + +---> aa melhor poca para ver aas flores aa primavera. + + 4. Para mudar toda ocorrncia de uma string entre duas linhas, + digite :#,#s/velho/novo/g onde #,# so os nmeros das duas linhas. + Digite :%s/velho/novo/g para mudar todas as ocorrncias no arquivo + inteiro. + Digite :%/velho/novo/gc para mudar todas as ocorrncia no arquivo + inteiro, com a opo de confirmar cada + substituio. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 4 + 1. CTRL-G mostra a sua localizao no arquivo e o status do mesmo. + G move para o final do arquivo. + nmero G move para esta linha com esse nmero. + gg move para a primeira linha. + + 2. Digitando / seguido por uma expresso procura FRENTE por ela. + Digitando ? seguido por uma expresso procura pela expresso de TRS + PARA FRENTE. + Aps uma busca, digite n para achar a prxima ocorrncia na mesma direo + ou N para procurar na direo oposta. + CTRL-O leva a posies antigas e CTRL-I a posies mais recentes. + + 3. Digitando % enquanto o cursor est sobre um (,),[,],{, ou } localiza + o par que casa com ele. + + 4. Para substituir: + o primeiro 'velho' de uma linha por 'novo' digite :s/velho/novo + todos os 'velho's em uma linha por 'novo' digite :s/velho/novo/g + expresses entre dois nmeros (#) de linhas digite :#,#s/velho/novo + todas as ocorrncias no arquivo digite :%s/velho/novo/g + Para confirmar cada substituio adicione 'c' :%s/velho/novo/gc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 5.1: COMO EXECUTAR UM COMANDO EXTERNO + + + ** Digite :! seguido por um comando externo para executar esse comando. ** + + 1. Digite o familiar comando : para levar o cursor ao rodap da tela. Isso + lhe permite entrar um comando. + + 2. Agora digite o caractere ! (ponto de exclamao). Isso lhe permite + executar qualquer comando do shell. + + 3. Como um exemplo digite ls seguindo o ! e ento tecle . Isto + ir mostrar uma listagem do seu diretrio, como se voc estivesse no + prompt do shell. Ou use :!dir se ls no funcionar. + +NOTA: possvel executar qualquer comando externo dessa maneira, inclusive + com argumentos. + +NOTA: Todos os comandos : devem ser finalizados teclando-se + Daqui em diante no iremos mencionar isso sempre. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 5.2: MAIS SOBRE SALVAR ARQUIVOS + + ** Para salvar as alteraes no texto, digite :w NOMEDOARQUIVO. ** + + + 1. Digite :!dir ou :!ls para ter uma listagem de seu diretrio. + Voc j deve saber que precisa teclar depois disso. + + 2. Escolha um nome de arquivo que ainda no exista, como TESTE. + + 3. Agora digite: :w TESTE (onde TESTE o nome que voc escolheu.) + + 4. Isto salva o arquivo inteiro (o Vim Tutor) com o nome TESTE. + Para verificar isso, digite :!ls de novo para ver seu diretrio + +NOTA: Se voc sair do Vim e entrar de novo com o nome do arquivo TESTE, + o arquivo deve ser uma cpia exata do tutor quando voc o salvou. + + 5. Agora remova o arquivo digitando (MS-DOS): :!del TESTE + ou (Unix): :!rm TESTE + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 5.3: SELECIONANDO O TEXTO A SER SALVO + + ** Para salvar parte de um arquivo, digite v movimento NOMEDOARQUIVO ** + + 1. Mova o cursor para esta linha. + + 2. Pressione v e mova o cursor para o quinto item abaixo. Note que o texto + realado. + + 3. Pressione o caractere : e note que aparecer :'<,'> no lado inferior + da tela. + + 4. Digite w TESTE , sendo TESTE um nome de arquivo que no existe ainda. + Voc dever ver :'<,'>w TESTE antes de pressionar . + + 5. O Vim salvar as linhas selecionadas no arquivo TESTE. Use :!dir ou + !:ls para v-lo. No o apague agora! Ns o usaremos na prxima lio. + +NOTA: Pressionando v inicia o modo Visual de seleo. Voc pode mover o +cursor pela tela para tornar a seleo maior ou menor. Pode, ento, usar um +operador para executar alguma ao. Por exemplo, d deleta o texto. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 5.4: RECUPERANDO E JUNTANDO ARQUIVOS + + ** Para inserir o contedo de um arquivo, digite :r NOMEDOARQUIVO ** + + + 1. Posicione o cursor logo acima desta linha. + +NOTA: Depois de executar o Passo 2 voc ver a lio 5.3. Ento DESA o + cursor para ver esta lio novamente. + + 2. Agora recupere o arquivo TESTE usando o comando :r TESTE onde TESTE o + nome do arquivo. + O arquivo recuperado colocado abaixo da linha atual do cursor. + + 3. Para verificar que o arquivo foi recuperado, volte com o cursor e verifique + que agora existem duas cpias da Lio 5.3, a original e a verso do + arquivo. + +NOTA: Voc tambm pode ler a sada de um comando externo. Por exemplo, :r !ls + l a sada do comando ls e coloca o resultado abaixo do cursor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 5 + + + 1. :!comando executa um comando externo. + + Alguns exemplos teis so: + (MS-DOS) (UNIX) + :!dir :!ls - lista contedo do diretrio. + :!del ARQUIVO :!rm ARQUIVO - remove ARQUIVO. + + 2. :w ARQUIVO salva o atual arquivo do Vim para o disco com o nome ARQUIVO. + + 3. v movimento :w ARQUIVO salva as linhas Visualmente selecionadas em + ARQUIVO. + + 4. :r ARQUIVO recupera ARQUIVO do disco e o insere dentro do arquivo atual + na posio do cursor. + + 5. :r !dir l a sada do comando dir e coloca o resultado abaixo da posio + atual do cursor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 6.1: O COMANDO OPEN (ABRIR) + + ** Digite o para abrir uma linha embaixo do cursor e ir para o modo de + Insero (INSERT). ** + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Digite o (minsculo) para abrir uma linha ABAIXO do cursor e ir para o + modo de Insero (INSERT). + + 3. Agora digite algum texto e pressione para sair do modo de + Insero. + +---> Aps teclar o o cursor colocado na linha aberta no modo de Insero. + + 4. Para abrir uma linha ACIMA do cursor, simplesmente tecle um O maisculo, + em vez de um o minsculo. Tente isso na linha abaixo. + +---> Abra uma linha acima desta teclando O enquanto o cursor est nesta linha. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 6.2: O COMANDO APPEND + + ** Digite a para inserir texto DEPOIS do cursor. ** + + 1. Mova o cursor para o incio da linha marcada com ---> . + + 2. Pressione e at o cursor ficar sobre o final de li . + + 3. Digite um a (minsculo) para adicionar texto DEPOIS do caractere sob o + cursor. + + 4. Complete a palavra conforme a linha abaixo. Pressione para sair do + modo de Insero. + + 5. Use e para mover para a prxima palavra incompleta repita os passos 3 + e 4. + +---> Esta lin lhe permite pratic a adi de texto a uma linha. +---> Esta linha lhe permite praticar a adio de texto a uma linha. + +NOTA: a, i e A levam ao mesmo modo de Insero, a nica diferena onde os + caracteres so inseridos. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 6.3: UMA OUTRA VERSO DO REPLACE (SUBSTITUIR) + + ** Digite um R maisculo para substituir mais de um caractere. ** + + + 1. Mova o cursor para a primeira linha abaixo marcada com --->. Mova o + cursor para o incio do primeiro xxx . + + 2. Agora pressione R e digite os nmeros que esto abaixo dele, na segunda + linha, para substituir o xxx . + + 3. Pressione para sair do modo de Substituio. Note que o resto da + linha permanece inalterada. + + 4. Repita os passos para substituir os xxx restantes. + +---> Adicionando 123 a xxx resulta em xxx. +---> Adicionando 123 a 456 resulta em 579. + +NOTA: O modo de Substituio como o modo de Insero, mas cada caractere + digitado deleta um caractere existente. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 6.4: COPIAR E COLAR TEXTO + + ** Use o operador y para copiar texto e p para col-lo. ** + + 1. V para a linha marcada com ---> abaixo e posicione o cursor aps "a)". + + 2. Inicie o modo Visual com v e mova o cursor para logo antes de + "primeiro". + + 3. Digite y para copiar o texto selecionado. + + 4. Mova o cursor para o final da prxima linha: j$ + + 5. Digite p par pr (colar) o texto. Ento, digite: o segundo . + + 6. Use o modo Visual para selecionar " item.", copie-o com y , mova para + o fina da prxima linha com j$ e ponha (cole) o texto com p . + +---> a) esse o primeiro item. + b) +NOTA: Voc tambm pode usar y como um operador; por exemplo, yw copia uma + palavra. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 6.5: CONFIGURAR PREFERNCIAS + + ** Configurar uma preferncia de modo que um search ou substitute + ignora se as letras esto em maisculas ou minsculas. ** + + 1. Procure por 'ignore' entrando: /ignore + Repita vrias vezes teclando n . + 2. Configure a opo 'ic' (Ignore case) digitando: + :set ic + 3. Agora procure por 'ignore' de novo teclando: n + Repita vrias vezes. + 4. Configure as opes 'hlsearch' e 'incsearch': + :set hls is + 5. Agora entre com o comando search de novo, e veja o que acontece: + /ignore + 6. Para desabilitar a desconsiderao de maisculas e minsculas: + :set noic + +NOTA: Para remover o realce dos termos localizados entre: :nohlsearch +NOTA: Se quiser ignorar a diferena entre maisculas e minsculas em apenas + uma pesquisa, use \c no comando: /ignore\c + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 6 + + 1. Digite o para abrir uma linha ABAIXO do cursor e iniciar o modo de + Insero. + Digite O para abrir uma linha ACIMA da linha onde o cursor est. + + 2. Digite a para adicionar texto DEPOIS do caractere onde est o cursor. + Digite A para adicionar texto ao final da linha. + + 3. O comando e move o cursor para o final de uma palavra. + + 4. O operador y copia texto, p pe (cola) o texto copiado. + + 5. Digitando R entra-se no modo de Substituio at que seja + pressionado. + + 6. Digitando ":set xxx" modifica-se a opo "xxx". Algumas opes so: + 'ic' 'ignorecase' ignora diferena entre maisculas/minsculas + 'is' 'incsearch' realiza a busca enquanto se digita + 'hls' 'hlsearch' reala todos os trechos localizados + Voc tanto pode usar o nome curto quanto o nome longo da opo. + 7. Adicione o prefixo "no" para desabilitar uma opo: :set noic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + LIO 7.1: OBTENDO AJUDA + + ** Usar o sistema de ajuda do prprio Vim ** + + O Vim possui sistema de ajuda abrangente. Para comear, tente algum + desses trs: + - pressione a tecla (se voc tiver uma) + - pressione a tecla (se voc tiver uma) + - digite :help + + Leia o texto da ajuda para aprender como o sistema de ajuda funciona. + Digite CTRL-W CTRL-W para pular de uma janela para outra. + Digite :q para fechar a janela da ajuda. + + Voc pode achar ajuda sobre qualquer assunto, fornecendo um argumento para + o comando ":help". Tente isto (no esquea de pressionar ): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 7.2: CRIAR UM SCRIPT DE INICIALIZAO + + ** Habilitar recursos do Vim ** + + O Vim tem muito mais recursos do que o Vi, mas na sua maioria eles so + desabilitados por padro. Para usar mais recursos, voc tem que criar um + arquivo "vimrc". + + 1. Comece a editar o arquivo "vimrc". Isso depende do sistema: + :e ~/.vimrc para Unix + :e $VIM/_vimrc para MS-Windows + + 2. Agora, leia o contedo do arquivo "vimrc" de exemplo: + :r $VIM/vimrc_example.vim + + 3. Salve o arquivo com: + :w + + Da prxima vez que o Vim for iniciado, ele ir usar realce de sintaxe. Voc + pode adicionar suas configuraes preferidas para esse arquivo "vimrc". Para + maiores informaes, digite: :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lio 7.3: COMPLETAO + + ** Completao da linha de comando com CTRL-D e ** + + 1. Certifique-se de que o Vim no est no modo compatvel: :set nocp + + 2. Olhe quais arquivos existem no diretrio: :!ls ou :!dir + + 3. Digite o incio de um comando: :e + + 4. Pressione CTRL-D e o Vim ir mostrar a lista dos comandos iniciados + com "e". + + 5. Pressione e o Vim ir completar o nome do comando para ":edit". + + 6. Agora, adicione um espao e o incio do nome de um arquivo existente: + :edit ARQ + + 7. Pressione . O Vim ir completar o nome (se ele for nico). + +NOTA: A completao funciona com muitos comandos. Basta pressionar CTRL-D e +. Isso especialmente til para :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMRIO DA LIO 7 + + + 1. Digite :help ou pressione ou para abrir a janela de ajuda. + + 2. Digite :help cmd para achar a ajuda sobre cmd . + + 3. Digite CTRL-W CTRL-W para pular de uma janela para outra. + + 4. Digite :q para fechar a janela de ajuda. + + 5. Crie um script de inicializao vimrc para ativar automaticamente as suas + configuraes preferidas. + + 6. Quando pressionando um comando : , pressione CTRL-D para ver as + possibilidade de completao. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Isto conclui o Vim tutor. Ele pretendeu dar uma breve apresentao do editor + Vim, somente o bastante para que voc possa usar o editor com facilidade. + Ele est longe de ser completo, uma vez que o Vim possui muitos, muitos mais + comandos. O prximo passo ler o manual: ":help user-manual". + + Livro recomendado em Portugus sobre o Vim: + O editor de texto Vim - de Srgio Luiz Arajo da Silva et al. + http://code.google.com/p/vimbook/ + + Para futura leitura e estudo, este livro recomendado: + Vim - Vi Improved - de Steve Oualline + Editora: New Riders + Este o primeiro livro completamente dedicado ao Vim. Especialmente til + para iniciantes, com muitos exemplos e ilustraes. + Veja http://iccf-holland.org/click5.html + + Esse livro mais antigo e mais sobre o Vi do que sobre o Vim, mas tambm + recomendado: + Learning the Vi Editor - de Linda Lamb + Editora: O'Reilly & Associates Inc. + Este um bom livro para aprender quase tudo o que voc quer fazer com o Vi. + A sexta edio tambm inclui informaes sobre o Vim. + + Este tutorial foi escrito por Michael C. Pierce e Robert K. Ware, + Colorado School of Mines, usando idias fornecidas por Charles Smith, + Colorado State University. E-mail: bware@mines.colorado.edu. + + Modificado para o Vim por Bram Moolenar. + + Verso 1.4 traduzida para o portugus por Marcelo Drudi Miranda, Escola + Politcnica da Universidade de So Paulo. + + Reviso e atualizao da traduo para a verso 1.7 por Jakson Aquino, + Universidade Federal do Cear: E-mail: jalvesaq@gmail.com + + Last Change: 2010 Jul 27 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.pt.utf-8 b/runtime/tutor/tutor.pt.utf-8 new file mode 100644 index 0000000000..f5f958b63d --- /dev/null +++ b/runtime/tutor/tutor.pt.utf-8 @@ -0,0 +1,984 @@ +=============================================================================== += B e m V i n d o a o V I M T u t o r - Versão 1.7 pt_BR = +=============================================================================== + + Vim é um poderoso editor que possui muitos comandos, tantos que seria + impossível ensinar num tutorial como este. Este tutorial é planejado para + apresentar os comandos suficientes para você ficar habilitado a usar + facilmente o Vim como um editor de textos genérico. + + O tempo aproximado requerido para completar o tutorial é de 25-30 minutos, + dependendo de quanto tempo é gasto praticando os comandos. + + ATENÇÃO: + Os comandos nas lições vão modificar o texto. Utilize uma cópia deste + arquivo para praticar os comandos (se você iniciou o "vimtutor", esta já + é uma cópia). + + É importante lembrar que este tutorial é planejado para ensinar através da + prática. Isso significa que você precisa executar os comandos para + aprendê-los adequadamente. Se você somente ler o texto, esquecerá os + comandos! + + Agora, certifique-se de que sua tecla Shift-Lock (ou Caps Lock) não esteja + ativada e pressione a tecla j o bastante para mover o cursor até que a + Lição 1.1 esteja completamente na tela. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.1: MOVENDO O CURSOR + + + ** Para mover o cursor, pressione as teclas h,j,k,l conforme indicado. ** + ^ + k Dica: A tecla h está à esquerda e move para a esquerda. + < h l > A tecla l está à direita e move para a direita. + j A tecla j se parece com uma seta para baixo. + v + 1. Mova o cursor pela tela até que você se sinta confortável. + + 2. Segure pressionada a tecla (j) até haver repetição. + Agora você já sabe como ir para a próxima lição. + + 3. Usando a tecla j, mova até a lição 1.2. + +NOTA: Se você está inseguro sobre o que digitou, pressione para + colocá-lo no modo Normal. Então redigite o comando que você queria. + +NOTA: As teclas de cursor devem funcionar também. Mas usando hjkl, tão logo + esteja acostumado, você poderá se mover muito mais rapidamente. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.2: SAINDO DO VIM + + + !! NOTA: Antes de executar qualquer dos passos abaixo, leia a lição inteira !! + + 1. Pressione (para ter certeza de que está no modo Normal). + + 2. Digite :q! . + Isso sai do editor SEM salvar qualquer mudança que tenha sido feita. + Se quiser salvar as alterações e sair, digite :wq + + 3. Quando vir o prompt do shell digite o comando que lhe trouxe a este + tutorial, na maioria dos casos: vimtutor . + + 4. Se você memorizou estes passos e está confiante, execute os passos de + 1 a 3 para sair e re-entrar no editor. + +NOTA: :q! descarta qualquer mudança. Em uma próxima lição será + ensinado como salvar as mudanças feitas em um arquivo. + + 5. Desça o cursor até a Lição 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.3: EDITANDO TEXTOS - DELEÇÃO + + ** No modo Normal, pressione x para deletar o caractere sob o cursor. ** + + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Para corrigir os erros, mova o cursor até que ele esteja sobre o + caractere a ser deletado. + + 3. Pressione a tecla x para deletar o caractere indesejado. + + 4. Repita os passos 2 até 4 até que a sentença esteja correta. + +---> A vvaca pullouu por ccimaa dda luuua. + + 5. Agora que a sentença está correta, vá para a Lição 1.4. + +NOTA: Enquanto segue este tutorial, não tente memorizar, aprenda pelo uso. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.4: EDITANDO TEXTOS - INSERÇÃO + + ** Pressione i para inserir texto. ** + + + 1. Mova o cursor até a primeira linha abaixo marcada com --->. + + 2. Para fazer a primeira linha ficar igual à segunda, mova o cursor para + o primeiro caractere DEPOIS de onde o texto deverá ser inserido. + + 3. Pressione i e digite as adições necessárias. + + 4. Assim que cada erro for corrigido pressione para retornar ao modo + Normal. Repita os passos 2 até 4 para corrigir a sentença. + +---> Tem text fatado desta . +---> Tem algum texto faltando desta linha. + + 5. Quando se sentir confortável com a inserção de texto, mova o cursor para + a lição 1.5. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.5: EDITANDO TEXTO - ADICIONANDO + + ** Pressione A para adicionar texto. ** + + 1. Mova o curso para a primeira linha abaixo marcada com --->. + Não importa sobre qual caractere o cursor estará na linha. + + 2. Pressione A e digite as adições necessárias. + + 3. Quando adicionar o texto, pressione para retornar ao modo Normal. + + 4. Mova o cursor para a segunda linha marcada ---> e repita os passos 2 e 3 + para corrigir o texto. + +---> Há algum texto faltando des + Há algum texto faltando desta linha. + Há algum texto faltan +---> Há algum texto faltando aqui. + + 5. Quando se sentir confortável adicionando texto, mova para a lição 1.6. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 1.6: EDITANDO UM ARQUIVO + ** Use :wq para salvar um arquivo e sair. ** + + !! NOTA: Antes de executar qualquer um dos passos abaixo, + leia esta lição completamente!! + + 1. Saia deste tutorial como o fez na lição 1.2: :q! + Ou, se tiver acesso a outro terminal, faça o seguinte nele. + + 2. No prompt do shell, digite esse comando: vim tutor + 'vim' is é comando para iniciar o editor Vim e 'tutor' é o nome do + arquivo que você deseja editar. Use um arquivo que possa ser modificado. + + 3. Insira e delete texto tal como aprendeu com as lições anteriores. + + 4. Salve o arquivo com as mudanças e saia do Vim com: :wq + + 5. Se você tiver saído do vimtutor no passo 1, reinicie o vimtutor e vá para + o sumário seguinte. + + 6. Após ler os passos acima e compreendê-los, execute-os. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 1 + + 1. O cursor é movido usando tanto as teclas de seta quanto as teclas hjkl. + h (esquerda) j (para baixo) k (para cima) l (direita) + + 2. Para entrar no Vim a partir de um shell digite: vim NOMEDOARQUIVO + + 3. Para sair do Vim digite: :q! para descartar as alterações. + OU digite: :wq para salvar as alterações. + + 4. Para deletar um caractere sob o cursor no modo Normal digite: x + + 5. Para inserir texto na posição do cursor enquanto estiver no modo Normal + digite: + i digite o texto inserir depois do cursor + A digite o texto adicionar no final da linha + +NOTA: Pressionando você irá para o modo Normal ou cancelará um comando + ainda incompleto. + +Agora continue com a Lição 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.1: COMANDOS DE DELEÇÃO + + ** Digite dw para deletar até o final de uma palavra. ** + + + 1. Pressione para ter certeza de que está no modo Normal. + + 2. Mova o cursor até a linha abaixo marcada com --->. + + 3. Mova o cursor até o começo da palavra que precisa ser deletada. + + 4. Digite dw para fazer a palavra desaparecer. + + NOTA: A letra d vai aparece na última linha da tela enquanto você a + digita. O Vim está lhe esperando digitar um w . Se você digitou + alguma coisa errada, pressione e comece de novo. + +---> Tem a algumas oi palavras diversão que não pertencem papel a esta sentença. + + 5. Repita os passos 3 ao 4 até que a sentença esteja correta e vá para a + Lição 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.2: MAIS COMANDOS DE DELEÇÃO + + ** Digite d$ para deletar até o final da linha. ** + + + + 1. Pressione para ter certeza de estar no modo Normal. + + 2. Mova o cursor até a linha abaixo marcada com --->. + + 3. Mova o cursor até o fim da linha correta (DEPOIS do primeiro .). + + 4. Digite d$ para deletar até o final da linha. + +---> Alguém digitou o final desta linha duas vezes. desta linha duas vezes. + + 5. Vá para a lição 2.3 para entender o que está acontecendo. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.3: SOBRE OPERADORES E MOVIMENTOS + + Muitos comandos que mudam texto são feitos de um operador e um movimento. + O formato para um comando deletar com o operador de deleção d tem a + seguinte forma: + + d movimento + Onde: + d - é o operador deletar. + movimento - é como o operador vai operar (listado abaixo). + + Uma pequena lista de teclas de movimento: + w - do cursor até o fim da palavra, incluindo o espaço. + e - do cursor até o fim da palavra, NÃO incluindo o espaço. + $ - do cursor até o fim da linha. + + Portanto, digitando de irá deletar do cursor ao fim da palavra. + +NOTA: Pressionando apenas a tecla de movimento enquanto em modo Normal, sem o +operador, irá mover o cursor como especificado na lista de teclas de +movimento. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.4: USANDO UM CONTADOR PARA UM MOVIMENTO + + ** Digitando um número antes de um movimento repete-o muitas vezes. ** + + + 1. Mova o cursor para o começo da linha marcada com ---> abaixo. + + 2. Digite 2w para mover o cursor duas palavras adiante. + + 3. Digite 3e para mover o cursor para o fim da terceira palavra adiante. + + 4. Digite 0 (zero) para mover para o início da linha. + + 5. Repita os passos 2 e 3 com diferentes números. + +---> Esta é uma linha com algumas palavras para lhe permitir fazer movimentos. + + 6. Vá para a Lição 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.5: USANDO UM CONTADOR PARA DELETAR MAIS + + ** Digitando um número com um operador repete-o esse número de vezes. ** + + + Você deve inserir um contador entre o operador de deleção e o movimento + mencionados acima para para deletar mais: + d número movimento + + 1. Movimente o cursor para a primeira palavra com LETRAS MAIÚSCULAS na + linha marcada com --->. + + 2. Digite d2w para deletar as duas palavras com LETRAS MAIÚSCULAS. + + 3. Repita os passos 1 e 2 com diferentes contadores para deletar as + palavras de LETRAS MAIÚSCULAS com um comando. + +---> esta ABC DE linha FGHI JK LMN OP de palavras está Q RS TUV limpa. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.6: OPERANDO SOBRE LINHAS + + ** Digite dd para deletar uma linha inteira. ** + + Em virtude da frequência em deletar uma linha inteira, os projetistas do Vi + decidiram que seria mais simples digitar dois d's numa linha para deletá-la. + + 1. Mova o cursor até a segunda linha na lista a baixo. + 2. Digite dd para deletar a linha. + 3. Agora mova até a quarta linha. + 4. Digite 2dd para deletar duas linhas. + +---> 1) Rosas são vermelhas, +---> 2) Lama é divertida, +---> 3) Violetas são azuis, +---> 4) Eu tenho um carro, +---> 5) Relógios dizem as horas, +---> 6) Açúcar é doce, +---> 7) E assim é você. + +Notas do tradutor: Lama (mud) em inglês pode significar fofoca, difamação. + Há rima no texto original. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 2.7: O COMANDO UNDO (DESFAZER) + +** Pressione u para desfazer os últimos comandos, U restaura linha inteira.** + + + 1. Mova o cursor para a linha abaixo marcada com ---> e posicione-o sobre o + primeiro erro. + 2. Digite x para deletar o primeiro caractere indesejado. + 3. Agora, digite u para desfazer o último comando executado. + 4. Desta vez, corrija todos os erros na linha usando o comando x . + 5. Agora, digite um U maiúsculo para retornar a linha ao seu estado original. + 6. Digite u algumas vezes para desfazer o U e os comandos anteriores. + 7. Digite CTRL-R (segurando a tecla CTRL enquanto digita R) algumas vezes + para refazer os comandos (desfazer os undo's). + +---> Corriija os erros nnesta linha e reetorne-os com undo. + + 8. Esses comandos são muito úteis. Agora vá para o sumário da Lição 2. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 2 + + + 1. Para deletar do cursor até o fim de uma palavra digite: dw + 2. Para deletar do cursor até o fim de uma linha digite: d$ + 3. Para deletar uma linha inteira digite: dd + 4. Para repetir um movimento adicione antes um número: 2w + 5. O formato para um comando no modo Normal é: + operador [número] movimento + onde: + operador - é o que será feito, como d para deletar + número - é quantas vezes o comando será repetido + movimento - movimento sobre o texto que sofrerá a operação, como + w (palavra), $ (até o final da linha), etc. + + 5. Para desfazer um ação anterior, digite: u (minúsculo) + Para desfazer todas as modificações em uma linha digite: U (maiúsculo) + Para desfazer o que foi desfeito digite: CTRL-R + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 3.1: O COMANDO PUT (PÔR) + + ** Digite p para colocar a última deleção após o cursor. ** + + + 1. Mova o cursor até a primeira linha na lista abaixo. + + 2. Digite dd para deletar a linha e guardá-la no buffer do Vim. + + 3. Mova o cursor até a linha ACIMA de onde a linha deletada deve ficar. + + 4. No modo Normal, digite p para inserir a linha. + + 5. Repita os passos 2 ao 4 para pôr todas as linhas na ordem correta. + + d) Você pode aprender também? + b) Violetas são azuis, + c) Inteligência se aprende, + a) Rosas são vermelhas, + +Nota do tradutor: Há rima no original. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 3.2: O COMANDO REPLACE (SUBSTITUIR) + + ** Digite rx para substituir o caractere sob o cursor por x . ** + + + 1. Mova o cursor até a primeira linha abaixo marcada com --->. + + 2. Mova o cursor até que ele esteja sobre o primeiro erro. + + 3. Digite r e então o caractere que deveria estar lá. + + 4. Repita os passos 2 e 3 até que a primeira linha esteja correta. + +---> Quendo este limha foi dugitada, alguem pressioniu algumas teclas erradzs! +---> Quando esta linha foi digitada, alguém pressionou algumas teclas erradas! + + 5. Agora vá para a Lição 3.3. + +NOTA: Lembre-se que você deve aprender pelo uso, não pela memorização. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 3.3: O OPERADOR CHANGE (MUDAR) + + ** Para mudar toda uma palavra ou parte dela, digite cw . ** + + + 1. Mova o cursor até a primeira linha abaixo marcada com --->. + + 2. Posicione o cursor sobre o u em lunba. + + 3. Digite cw e a palavra correta (nesse caso, digite 'inha'.) + + 4. Pressione e mova para o próximo caractere a ser alterado. + + 5. Repita os passos 3 e 4 até que a primeira sentença esteja igual à segunda. + +---> Essa lunba tem pwlesmfr que ocrimmm soi alteradas cup o comando change. +---> Essa linha tem palavras que precisam ser alteradas com o comando change. + +Note que cw não somente substitui a palavra, mas também lhe coloca no modo +de inserção. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 3.4: MAIS MUDANÇAS USANDO c + + ** O operador change é usado com os mesmos objetos que delete. ** + + 1. O operador change trabalha da mesma maneira que o delete. O formato é: + + c [número] movimento + + 2. Os movimentos também são os mesmos: w (palavra), $ (fim da linha), etc. + + 3. Mova até a primeira linha abaixo marcada com --->. + + 4. Mova o cursor até o primeiro erro. + + 5. Digite c$ para fazer o resto da linha ficar igual à segunda e pressione + . + +---> O fim desta linha precisa de ajuda para ficar igual à segunda. +---> O fim desta linha precisa ser corrigido usando o comando c$. + +NOTA: Você pode usar a tecla Backspace para corrigir erros enquanto digita. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 3 + + + 1. Para inserir um texto que já foi deletado, digite p . Isso coloca o texto + deletado APÓS o cursor (se uma linha é deletada ela será inserida na linha + abaixo do cursor). + + 2. Para substituir o caractere sob o cursor, digite r e então o caractere + que irá substituir o original. + + 3. O comando change possibilita mudar do cursor até onde o movimento for. + Ex: Digite cw para mudar do cursor até o fim de uma palavra, c$ para + mudar até o fim da linha. + + 4. O formato para uma operação change é: + + c [número] movimento + +Agora vá para a próxima lição. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 4.1: LOCALIZAÇÃO DO CURSOR E STATUS DO ARQUIVO + + ** Digite CTRL-G para mostrar sua localização no arquivo e seu status. + Digite G para mover para uma linha do arquivo. ** + + Nota: Leia esta lição inteira antes de executar qualquer um dos passos!! + + 1. Segure pressionada a tecla Ctrl e pressione g . Nós chamamos isso de + CTRL-G. Uma mensagem aparecerá no rodapé da página com o nome do arquivo + e a sua posição no arquivo. Lembre-se do número da linha para o Passo 3. + +NOTA: A posição do cursor pode estar visível no canto direito inferior da + tela. Isso acontece quando a opção 'ruler' está ativa + (veja :help 'ruler' ). + + 2. Pressione G para mover para o final do arquivo. + Digite gg para mover para o início do arquivo. + + 3. Digite o número da linha em que você estava e então G . Isto + retornará o cursor à linha em que você estava quando pressionou CTRL-G. + + 4. Se você estiver confiante para fazer isto, execute os passos 1 ao 3. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 4.2: O COMANDO SEARCH (PROCURA) + + ** Digite / seguido por uma string para procurar pela string. ** + + 1. No modo Normal digite o caractere / . Note que ele e o cursor aparecem + no rodapé da tela, como ocorre com o comando : . + + 2. Agora digite 'errroo' . Esta é a palavra que você quer procurar. + + 3. Para procurar pela mesma palavra de novo, simplesmente tecle n . + Para procurar pela mesma palavra na direção oposta, tecle N . + + 4. Se você quer procurar por uma string no sentido de frente para trás, use + ? em vez de / . + + 5. Para voltar para onde estava, pressione CTRL-O (mantenha a tecla Ctrl + pressionada e pressione a tecla o). Repita para voltar outras posições. + CTRL-I segue para posições mais recentes. + +---> "errroo" não é uma maneira de escrever erro; errroo é um erro. +NOTA: Quando a busca atinge o final do arquivo ela continuará do começo, a + menos que a opção 'wrapscan' esteja desativada. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 4.3: PROCURA POR CASAMENTO DE PARÊNTESES + + ** Digite % para achar um casamento de ),], ou } . ** + + + 1. Posicione o cursor em qualquer (, [, ou { na linha abaixo marcada com --->. + + 2. Agora digite o caractere % . + + 3. O cursor deve estar no parênteses ou colchetes que casa com o primeiro. + + 4. Digite % para mover o cursor de volta ao primeiro colchete ou parênteses + (por casamento). + +---> Isto ( é uma linha de teste contendo ('s, ['s ] e {'s }. )) + +Nota: Isso é muito útil para corrigir um programa com parênteses não-casados! + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 4.4: O COMANDO SUBSTITUIR + + ** Digite :s/velho/novo/g para substituir 'velho' por 'novo'. ** + + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Digite :/s/aa/a . Note que este comando somente muda a + primeira ocorrência na linha. + + 3. Agora digite :s/aa/a/g significando substituir globalmente na linha. + Isto muda todas as ocorrências na linha. + +---> aa melhor época para ver aas flores é aa primavera. + + 4. Para mudar toda ocorrência de uma string entre duas linhas, + digite :#,#s/velho/novo/g onde #,# são os números das duas linhas. + Digite :%s/velho/novo/g para mudar todas as ocorrências no arquivo + inteiro. + Digite :%/velho/novo/gc para mudar todas as ocorrência no arquivo + inteiro, com a opção de confirmar cada + substituição. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 4 + 1. CTRL-G mostra a sua localização no arquivo e o status do mesmo. + G move para o final do arquivo. + número G move para esta linha com esse número. + gg move para a primeira linha. + + 2. Digitando / seguido por uma expressão procura À FRENTE por ela. + Digitando ? seguido por uma expressão procura pela expressão de TRÁS + PARA FRENTE. + Após uma busca, digite n para achar a próxima ocorrência na mesma direção + ou N para procurar na direção oposta. + CTRL-O leva a posições antigas e CTRL-I a posições mais recentes. + + 3. Digitando % enquanto o cursor está sobre um (,),[,],{, ou } localiza + o par que casa com ele. + + 4. Para substituir: + o primeiro 'velho' de uma linha por 'novo' digite :s/velho/novo + todos os 'velho's em uma linha por 'novo' digite :s/velho/novo/g + expressões entre dois números (#) de linhas digite :#,#s/velho/novo + todas as ocorrências no arquivo digite :%s/velho/novo/g + Para confirmar cada substituição adicione 'c' :%s/velho/novo/gc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 5.1: COMO EXECUTAR UM COMANDO EXTERNO + + + ** Digite :! seguido por um comando externo para executar esse comando. ** + + 1. Digite o familiar comando : para levar o cursor ao rodapé da tela. Isso + lhe permite entrar um comando. + + 2. Agora digite o caractere ! (ponto de exclamação). Isso lhe permite + executar qualquer comando do shell. + + 3. Como um exemplo digite ls seguindo o ! e então tecle . Isto + irá mostrar uma listagem do seu diretório, como se você estivesse no + prompt do shell. Ou use :!dir se ls não funcionar. + +NOTA: É possível executar qualquer comando externo dessa maneira, inclusive + com argumentos. + +NOTA: Todos os comandos : devem ser finalizados teclando-se + Daqui em diante não iremos mencionar isso sempre. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 5.2: MAIS SOBRE SALVAR ARQUIVOS + + ** Para salvar as alterações no texto, digite :w NOMEDOARQUIVO. ** + + + 1. Digite :!dir ou :!ls para ter uma listagem de seu diretório. + Você já deve saber que precisa teclar depois disso. + + 2. Escolha um nome de arquivo que ainda não exista, como TESTE. + + 3. Agora digite: :w TESTE (onde TESTE é o nome que você escolheu.) + + 4. Isto salva o arquivo inteiro (o Vim Tutor) com o nome TESTE. + Para verificar isso, digite :!ls de novo para ver seu diretório + +NOTA: Se você sair do Vim e entrar de novo com o nome do arquivo TESTE, + o arquivo deve ser uma cópia exata do tutor quando você o salvou. + + 5. Agora remova o arquivo digitando (MS-DOS): :!del TESTE + ou (Unix): :!rm TESTE + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 5.3: SELECIONANDO O TEXTO A SER SALVO + + ** Para salvar parte de um arquivo, digite v movimento NOMEDOARQUIVO ** + + 1. Mova o cursor para esta linha. + + 2. Pressione v e mova o cursor para o quinto item abaixo. Note que o texto + é realçado. + + 3. Pressione o caractere : e note que aparecerá :'<,'> no lado inferior + da tela. + + 4. Digite w TESTE , sendo TESTE um nome de arquivo que não existe ainda. + Você deverá ver :'<,'>w TESTE antes de pressionar . + + 5. O Vim salvará as linhas selecionadas no arquivo TESTE. Use :!dir ou + !:ls para vê-lo. Não o apague agora! Nós o usaremos na próxima lição. + +NOTA: Pressionando v inicia o modo Visual de seleção. Você pode mover o +cursor pela tela para tornar a seleção maior ou menor. Pode, então, usar um +operador para executar alguma ação. Por exemplo, d deleta o texto. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 5.4: RECUPERANDO E JUNTANDO ARQUIVOS + + ** Para inserir o conteúdo de um arquivo, digite :r NOMEDOARQUIVO ** + + + 1. Posicione o cursor logo acima desta linha. + +NOTA: Depois de executar o Passo 2 você verá a lição 5.3. Então DESÇA o + cursor para ver esta lição novamente. + + 2. Agora recupere o arquivo TESTE usando o comando :r TESTE onde TESTE é o + nome do arquivo. + O arquivo recuperado é colocado abaixo da linha atual do cursor. + + 3. Para verificar que o arquivo foi recuperado, volte com o cursor e verifique + que agora existem duas cópias da Lição 5.3, a original e a versão do + arquivo. + +NOTA: Você também pode ler a saída de um comando externo. Por exemplo, :r !ls + lê a saída do comando ls e coloca o resultado abaixo do cursor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 5 + + + 1. :!comando executa um comando externo. + + Alguns exemplos úteis são: + (MS-DOS) (UNIX) + :!dir :!ls - lista conteúdo do diretório. + :!del ARQUIVO :!rm ARQUIVO - remove ARQUIVO. + + 2. :w ARQUIVO salva o atual arquivo do Vim para o disco com o nome ARQUIVO. + + 3. v movimento :w ARQUIVO salva as linhas Visualmente selecionadas em + ARQUIVO. + + 4. :r ARQUIVO recupera ARQUIVO do disco e o insere dentro do arquivo atual + na posição do cursor. + + 5. :r !dir lê a saída do comando dir e coloca o resultado abaixo da posição + atual do cursor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 6.1: O COMANDO OPEN (ABRIR) + + ** Digite o para abrir uma linha embaixo do cursor e ir para o modo de + Inserção (INSERT). ** + + 1. Mova o cursor para a linha abaixo marcada com --->. + + 2. Digite o (minúsculo) para abrir uma linha ABAIXO do cursor e ir para o + modo de Inserção (INSERT). + + 3. Agora digite algum texto e pressione para sair do modo de + Inserção. + +---> Após teclar o o cursor é colocado na linha aberta no modo de Inserção. + + 4. Para abrir uma linha ACIMA do cursor, simplesmente tecle um O maiúsculo, + em vez de um o minúsculo. Tente isso na linha abaixo. + +---> Abra uma linha acima desta teclando O enquanto o cursor está nesta linha. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 6.2: O COMANDO APPEND + + ** Digite a para inserir texto DEPOIS do cursor. ** + + 1. Mova o cursor para o início da linha marcada com ---> . + + 2. Pressione e até o cursor ficar sobre o final de li . + + 3. Digite um a (minúsculo) para adicionar texto DEPOIS do caractere sob o + cursor. + + 4. Complete a palavra conforme a linha abaixo. Pressione para sair do + modo de Inserção. + + 5. Use e para mover para a próxima palavra incompleta repita os passos 3 + e 4. + +---> Esta lin lhe permite pratic a adiç de texto a uma linha. +---> Esta linha lhe permite praticar a adição de texto a uma linha. + +NOTA: a, i e A levam ao mesmo modo de Inserção, a única diferença é onde os + caracteres são inseridos. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 6.3: UMA OUTRA VERSÃO DO REPLACE (SUBSTITUIR) + + ** Digite um R maiúsculo para substituir mais de um caractere. ** + + + 1. Mova o cursor para a primeira linha abaixo marcada com --->. Mova o + cursor para o início do primeiro xxx . + + 2. Agora pressione R e digite os números que estão abaixo dele, na segunda + linha, para substituir o xxx . + + 3. Pressione para sair do modo de Substituição. Note que o resto da + linha permanece inalterada. + + 4. Repita os passos para substituir os xxx restantes. + +---> Adicionando 123 a xxx resulta em xxx. +---> Adicionando 123 a 456 resulta em 579. + +NOTA: O modo de Substituição é como o modo de Inserção, mas cada caractere + digitado deleta um caractere existente. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 6.4: COPIAR E COLAR TEXTO + + ** Use o operador y para copiar texto e p para colá-lo. ** + + 1. Vá para a linha marcada com ---> abaixo e posicione o cursor após "a)". + + 2. Inicie o modo Visual com v e mova o cursor para logo antes de + "primeiro". + + 3. Digite y para copiar o texto selecionado. + + 4. Mova o cursor para o final da próxima linha: j$ + + 5. Digite p par pôr (colar) o texto. Então, digite: o segundo . + + 6. Use o modo Visual para selecionar " item.", copie-o com y , mova para + o fina da próxima linha com j$ e ponha (cole) o texto com p . + +---> a) esse é o primeiro item. + b) +NOTA: Você também pode usar y como um operador; por exemplo, yw copia uma + palavra. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 6.5: CONFIGURAR PREFERÊNCIAS + + ** Configurar uma preferência de modo que um search ou substitute + ignora se as letras estão em maiúsculas ou minúsculas. ** + + 1. Procure por 'ignore' entrando: /ignore + Repita várias vezes teclando n . + 2. Configure a opção 'ic' (Ignore case) digitando: + :set ic + 3. Agora procure por 'ignore' de novo teclando: n + Repita várias vezes. + 4. Configure as opções 'hlsearch' e 'incsearch': + :set hls is + 5. Agora entre com o comando search de novo, e veja o que acontece: + /ignore + 6. Para desabilitar a desconsideração de maiúsculas e minúsculas: + :set noic + +NOTA: Para remover o realce dos termos localizados entre: :nohlsearch +NOTA: Se quiser ignorar a diferença entre maiúsculas e minúsculas em apenas + uma pesquisa, use \c no comando: /ignore\c + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 6 + + 1. Digite o para abrir uma linha ABAIXO do cursor e iniciar o modo de + Inserção. + Digite O para abrir uma linha ACIMA da linha onde o cursor está. + + 2. Digite a para adicionar texto DEPOIS do caractere onde está o cursor. + Digite A para adicionar texto ao final da linha. + + 3. O comando e move o cursor para o final de uma palavra. + + 4. O operador y copia texto, p põe (cola) o texto copiado. + + 5. Digitando R entra-se no modo de Substituição até que seja + pressionado. + + 6. Digitando ":set xxx" modifica-se a opção "xxx". Algumas opções são: + 'ic' 'ignorecase' ignora diferença entre maiúsculas/minúsculas + 'is' 'incsearch' realiza a busca enquanto se digita + 'hls' 'hlsearch' realça todos os trechos localizados + Você tanto pode usar o nome curto quanto o nome longo da opção. + 7. Adicione o prefixo "no" para desabilitar uma opção: :set noic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + LIÇÃO 7.1: OBTENDO AJUDA + + ** Usar o sistema de ajuda do próprio Vim ** + + O Vim possui sistema de ajuda abrangente. Para começar, tente algum + desses três: + - pressione a tecla (se você tiver uma) + - pressione a tecla (se você tiver uma) + - digite :help + + Leia o texto da ajuda para aprender como o sistema de ajuda funciona. + Digite CTRL-W CTRL-W para pular de uma janela para outra. + Digite :q para fechar a janela da ajuda. + + Você pode achar ajuda sobre qualquer assunto, fornecendo um argumento para + o comando ":help". Tente isto (não esqueça de pressionar ): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 7.2: CRIAR UM SCRIPT DE INICIALIZAÇÃO + + ** Habilitar recursos do Vim ** + + O Vim tem muito mais recursos do que o Vi, mas na sua maioria eles são + desabilitados por padrão. Para usar mais recursos, você tem que criar um + arquivo "vimrc". + + 1. Comece a editar o arquivo "vimrc". Isso depende do sistema: + :e ~/.vimrc para Unix + :e $VIM/_vimrc para MS-Windows + + 2. Agora, leia o conteúdo do arquivo "vimrc" de exemplo: + :r $VIM/vimrc_example.vim + + 3. Salve o arquivo com: + :w + + Da próxima vez que o Vim for iniciado, ele irá usar realce de sintaxe. Você + pode adicionar suas configurações preferidas para esse arquivo "vimrc". Para + maiores informações, digite: :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lição 7.3: COMPLETAÇÃO + + ** Completação da linha de comando com CTRL-D e ** + + 1. Certifique-se de que o Vim não está no modo compatível: :set nocp + + 2. Olhe quais arquivos existem no diretório: :!ls ou :!dir + + 3. Digite o início de um comando: :e + + 4. Pressione CTRL-D e o Vim irá mostrar a lista dos comandos iniciados + com "e". + + 5. Pressione e o Vim irá completar o nome do comando para ":edit". + + 6. Agora, adicione um espaço e o início do nome de um arquivo existente: + :edit ARQ + + 7. Pressione . O Vim irá completar o nome (se ele for único). + +NOTA: A completação funciona com muitos comandos. Basta pressionar CTRL-D e +. Isso é especialmente útil para :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SUMÁRIO DA LIÇÃO 7 + + + 1. Digite :help ou pressione ou para abrir a janela de ajuda. + + 2. Digite :help cmd para achar a ajuda sobre cmd . + + 3. Digite CTRL-W CTRL-W para pular de uma janela para outra. + + 4. Digite :q para fechar a janela de ajuda. + + 5. Crie um script de inicialização vimrc para ativar automaticamente as suas + configurações preferidas. + + 6. Quando pressionando um comando : , pressione CTRL-D para ver as + possibilidade de completação. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Isto conclui o Vim tutor. Ele pretendeu dar uma breve apresentação do editor + Vim, somente o bastante para que você possa usar o editor com facilidade. + Ele está longe de ser completo, uma vez que o Vim possui muitos, muitos mais + comandos. O próximo passo é ler o manual: ":help user-manual". + + Livro recomendado em Português sobre o Vim: + O editor de texto Vim - de Sérgio Luiz Araújo da Silva et al. + http://code.google.com/p/vimbook/ + + Para futura leitura e estudo, este livro é recomendado: + Vim - Vi Improved - de Steve Oualline + Editora: New Riders + Este é o primeiro livro completamente dedicado ao Vim. Especialmente útil + para iniciantes, com muitos exemplos e ilustrações. + Veja http://iccf-holland.org/click5.html + + Esse livro é mais antigo e mais sobre o Vi do que sobre o Vim, mas também é + recomendado: + Learning the Vi Editor - de Linda Lamb + Editora: O'Reilly & Associates Inc. + Este é um bom livro para aprender quase tudo o que você quer fazer com o Vi. + A sexta edição também inclui informações sobre o Vim. + + Este tutorial foi escrito por Michael C. Pierce e Robert K. Ware, + Colorado School of Mines, usando idéias fornecidas por Charles Smith, + Colorado State University. E-mail: bware@mines.colorado.edu. + + Modificado para o Vim por Bram Moolenar. + + Versão 1.4 traduzida para o português por Marcelo Drudi Miranda, Escola + Politécnica da Universidade de São Paulo. + + Revisão e atualização da tradução para a versão 1.7 por Jakson Aquino, + Universidade Federal do Ceará: E-mail: jalvesaq@gmail.com + + Last Change: 2010 Jul 27 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/po/pt_BR.po b/src/po/pt_BR.po index 39f93d91d1..187991306e 100644 --- a/src/po/pt_BR.po +++ b/src/po/pt_BR.po @@ -530,7 +530,7 @@ msgid "E725: Calling dict function without Dictionary: %s" msgstr "E725: Funo dict chamada sem um Dicionrio: %s" msgid "E808: Number or Float required" -msgstr "E521: Nmero ou Float requerido" +msgstr "E808: Nmero ou Float requerido" msgid "E699: Too many arguments" msgstr "E699: Argumentos demais" @@ -609,7 +609,7 @@ msgid "E677: Error writing temp file" msgstr "E677: Erro ao gravar o arquivo temporrio" msgid "E805: Using a Float as a Number" -msgstr "E745: Float usado como Nmero" +msgstr "E805: Float usado como Nmero" msgid "E703: Using a Funcref as a Number" msgstr "E703: Funcref usada como Nmero" @@ -630,7 +630,7 @@ msgid "E731: using Dictionary as a String" msgstr "E731: Dicionrio usado como String" msgid "E806: using Float as a String" -msgstr "E730: Float usado como String" +msgstr "E806: Float usado como String" #, c-format msgid "E704: Funcref variable name must start with a capital: %s" diff --git a/src/po/uk.cp1251.po b/src/po/uk.cp1251.po index 961388bad4..8ddfd269aa 100644 --- a/src/po/uk.cp1251.po +++ b/src/po/uk.cp1251.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-19 09:17+0300\n" +"POT-Creation-Date: 2010-08-11 12:13+0300\n" "PO-Revision-Date: 2010-06-18 21:53+0300\n" "Last-Translator: \n" "Language-Team: Bohdan Vlasyuk \n" @@ -37,6 +37,12 @@ msgstr "E818: msgid "E819: Blowfish test failed" msgstr "E819: Blowfish" +msgid "[Location List]" +msgstr "[ ]" + +msgid "[Quickfix List]" +msgstr "[ ]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: , ..." @@ -176,12 +182,6 @@ msgstr "" "\n" "# :\n" -msgid "[Location List]" -msgstr "[ ]" - -msgid "[Quickfix List]" -msgstr "[ ]" - msgid "[Scratch]" msgstr "[ ]" @@ -2649,6 +2649,9 @@ msgstr " msgid "not allowed in the Vim sandbox" msgstr " Vim" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: :py :py3 " + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2666,52 +2669,10 @@ msgstr "softspace msgid "invalid attribute" msgstr " " -msgid "writelines() requires list of strings" -msgstr " writelines() " - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: ' /" - -msgid "attempt to refer to deleted buffer" -msgstr " " - -msgid "line number out of range" -msgstr " " - #, c-format msgid "" msgstr "<' () %p>" -msgid "invalid mark name" -msgstr " " - -msgid "no such buffer" -msgstr " " - -msgid "attempt to refer to deleted window" -msgstr " " - -msgid "readonly attribute" -msgstr " " - -msgid "cursor position outside buffer" -msgstr " " - -#, c-format -msgid "" -msgstr "<' () %p>" - -#, c-format -msgid "" -msgstr "<' () %p>" - -#, c-format -msgid "" -msgstr "< %d>" - -msgid "no such window" -msgstr " " - msgid "E659: Cannot invoke Python recursively" msgstr "E659: Python" @@ -2846,6 +2807,9 @@ msgstr " msgid "cannot set line(s)" msgstr " " +msgid "invalid mark name" +msgstr " " + # msgstr "E19: " msgid "mark not set" msgstr " " @@ -2857,6 +2821,9 @@ msgstr " msgid "cannot insert/append line" msgstr " / " +msgid "line number out of range" +msgstr " " + msgid "unknown flag: " msgstr " : " @@ -3257,12 +3224,6 @@ msgstr "-display < msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\t Vim " -msgid "-name \t\tUse resource as if vim was " -msgstr "-name <>\t\t , vim <>" - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t ( 䳺)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background <>\t <> (: -bg)" @@ -4407,6 +4368,12 @@ msgstr "E531: msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' 'patchmode' " +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: GUI GTK+ 2" @@ -5510,9 +5477,6 @@ msgstr " msgid "E395: contains argument not accepted here" msgstr "E395: ̳ " -msgid "E396: containedin argument not accepted here" -msgstr "E396: containedin " - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]hete " @@ -5800,8 +5764,8 @@ msgstr "Vim: msgid "Used CUT_BUFFER0 instead of empty selection" msgstr " CUT_BUFFER0 " -#. This happens when the FileChangedRO autocommand changes the file in -#. * a way it becomes shorter. +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. msgid "E834: Line count changed unexpectedly" msgstr "E834: ʳ " @@ -6717,6 +6681,51 @@ msgstr " msgid "Need encryption key for \"%s\"" msgstr " \"%s\" : " +msgid "writelines() requires list of strings" +msgstr " writelines() " + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: ' /" + +msgid "no such buffer" +msgstr " " + +msgid "attempt to refer to deleted window" +msgstr " " + +msgid "readonly attribute" +msgstr " " + +msgid "cursor position outside buffer" +msgstr " " + +#, c-format +msgid "" +msgstr "<' () %p>" + +#, c-format +msgid "" +msgstr "<' () %p>" + +#, c-format +msgid "" +msgstr "< %d>" + +msgid "no such window" +msgstr " " + +msgid "attempt to refer to deleted buffer" +msgstr " " + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name <>\t\t , vim <>" + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t ( 䳺)\n" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: containedin " + # msgstr "E232: " #~ msgid "Vim dialog..." #~ msgstr "ij Vim..." diff --git a/src/po/uk.po b/src/po/uk.po index 37286cc621..78805065a4 100644 --- a/src/po/uk.po +++ b/src/po/uk.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-19 09:17+0300\n" +"POT-Creation-Date: 2010-08-11 12:13+0300\n" "PO-Revision-Date: 2010-06-18 21:53+0300\n" "Last-Translator: Анатолій Сахнік \n" "Language-Team: Bohdan Vlasyuk \n" @@ -37,6 +37,12 @@ msgstr "E818: Не пройшла перевірка sha256" msgid "E819: Blowfish test failed" msgstr "E819: Не пройшла перевірка Blowfish" +msgid "[Location List]" +msgstr "[Список місць]" + +msgid "[Quickfix List]" +msgstr "[Список виправлень]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Немає можливості розмістити хоч один буфер, завершення роботи..." @@ -176,12 +182,6 @@ msgstr "" "\n" "# Список буферів:\n" -msgid "[Location List]" -msgstr "[Список місць]" - -msgid "[Quickfix List]" -msgstr "[Список виправлень]" - msgid "[Scratch]" msgstr "[З нуля]" @@ -2649,6 +2649,9 @@ msgstr "номер рядка за межами файлу" msgid "not allowed in the Vim sandbox" msgstr "не дозволено у пісочниці Vim" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: Не можна використати :py і :py3 в одному сеансі" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2666,52 +2669,10 @@ msgstr "softspace має бути цілим" msgid "invalid attribute" msgstr "неправильний атрибут" -msgid "writelines() requires list of strings" -msgstr "для writelines() потрібен список рядків" - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Помилка ініціалізації об'єктів вводу/виводу" - -msgid "attempt to refer to deleted buffer" -msgstr "спроба звернення до знищеного буфера" - -msgid "line number out of range" -msgstr "номер рядка за межами файлу" - #, c-format msgid "" msgstr "<об'єкт буфера (знищено) за адресою %p>" -msgid "invalid mark name" -msgstr "неправильна назва позначки" - -msgid "no such buffer" -msgstr "такого буфера немає" - -msgid "attempt to refer to deleted window" -msgstr "спроба звернутися до знищеного вікна" - -msgid "readonly attribute" -msgstr "лише для читання" - -msgid "cursor position outside buffer" -msgstr "курсор за межами буфера" - -#, c-format -msgid "" -msgstr "<об'єкт вікна (знищено) за адресою %p>" - -#, c-format -msgid "" -msgstr "<об'єкт вікна (невідомий) за адресою %p>" - -#, c-format -msgid "" -msgstr "<вікно %d>" - -msgid "no such window" -msgstr "такого вікна немає" - msgid "E659: Cannot invoke Python recursively" msgstr "E659: Не можна рекурсивно викликати Python" @@ -2846,6 +2807,9 @@ msgstr "ще не реалізовано" msgid "cannot set line(s)" msgstr "не вдалося встановити рядки" +msgid "invalid mark name" +msgstr "неправильна назва позначки" + # msgstr "E19: " msgid "mark not set" msgstr "помітку не вказано" @@ -2857,6 +2821,9 @@ msgstr "рядок %d колонка %d" msgid "cannot insert/append line" msgstr "Не вдалося вставити/додати рядок" +msgid "line number out of range" +msgstr "номер рядка за межами файлу" + msgid "unknown flag: " msgstr "невідомий прапорець: " @@ -3257,12 +3224,6 @@ msgstr "-display <дисплей>\tВиконати vim на заданому < msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\tЗапустити Vim і згорнути його вікно" -msgid "-name \t\tUse resource as if vim was " -msgstr "-name <назва>\t\tВикористати ресурси, ніби vim має задану <назву>" - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t (Не діє)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background <колір>\tВикористати <колір> для фону (також: -bg)" @@ -4407,6 +4368,12 @@ msgstr "E531: Застосуйте \":gui\" для запуску GUI" msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: Опції 'backupext' і 'patchmode' однакові" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: Конфліктує із значенням 'listchars'" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: Конфліктує із значенням 'fillchars'" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Не можна змінити в GUI GTK+ 2" @@ -5510,9 +5477,6 @@ msgstr " розриви рядків" msgid "E395: contains argument not accepted here" msgstr "E395: Містить неприйнятні тут аргументи" -msgid "E396: containedin argument not accepted here" -msgstr "E396: Аргумент containedin тут неприйнятний" - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]hete тут неприйнятний" @@ -5800,8 +5764,8 @@ msgstr "Vim: Помилка читання вводу, робота заверш msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Використано CUT_BUFFER0 замість порожнього виділення" -#. This happens when the FileChangedRO autocommand changes the file in -#. * a way it becomes shorter. +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. msgid "E834: Line count changed unexpectedly" msgstr "E834: Кількість рядків несподівано змінилася" @@ -6717,6 +6681,51 @@ msgstr "Пошук дійшов до КІНЦЯ, продовжується з msgid "Need encryption key for \"%s\"" msgstr "Для \"%s\" потрібен ключ: " +msgid "writelines() requires list of strings" +msgstr "для writelines() потрібен список рядків" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Помилка ініціалізації об'єктів вводу/виводу" + +msgid "no such buffer" +msgstr "такого буфера немає" + +msgid "attempt to refer to deleted window" +msgstr "спроба звернутися до знищеного вікна" + +msgid "readonly attribute" +msgstr "лише для читання" + +msgid "cursor position outside buffer" +msgstr "курсор за межами буфера" + +#, c-format +msgid "" +msgstr "<об'єкт вікна (знищено) за адресою %p>" + +#, c-format +msgid "" +msgstr "<об'єкт вікна (невідомий) за адресою %p>" + +#, c-format +msgid "" +msgstr "<вікно %d>" + +msgid "no such window" +msgstr "такого вікна немає" + +msgid "attempt to refer to deleted buffer" +msgstr "спроба звернення до знищеного буфера" + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name <назва>\t\tВикористати ресурси, ніби vim має задану <назву>" + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Не діє)\n" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: Аргумент containedin тут неприйнятний" + # msgstr "E232: " #~ msgid "Vim dialog..." #~ msgstr "Діалог Vim..." From f166b809bcf29a9066379d0ca7417144feeffb57 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 11 Aug 2010 23:37:32 +0200 Subject: [PATCH 15/35] Runtime file updates. --HG-- branch : vim73 --- runtime/doc/if_pyth.txt | 21 ++++++++++++++------- runtime/doc/todo.txt | 2 ++ runtime/syntax/pod.vim | 25 +++++++++++++------------ 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index f2d480c431..d7d91b190e 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 7.3f. Last change: 2010 Jul 25 +*if_pyth.txt* For Vim version 7.3f. Last change: 2010 Aug 10 VIM REFERENCE MANUAL by Paul Moore @@ -335,11 +335,11 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for sure edit "gvim.exe" and search for "python\d*.dll\c". ============================================================================== -7. Python 3 *python3* +7. Python 3 *python3* - *:py3* *:python3* + *:py3* *:python3* The |:py3| and |:python3| commands work similar to |:python|. - *:py3file* + *:py3file* The |:py3file| command works similar to |:pyfile|. Vim can be built in four ways (:version output): @@ -349,9 +349,16 @@ Vim can be built in four ways (:version output): 4. Python 2 and 3 support (+python/dyn, +python3/dyn) You can see that when Python 2 and Python 3 are both supported they must be -loaded dynamically. This may cause some problems though, therefore currently -inside a Vim executable you can only use Python 2 or Python 3. To switch to -the other one you need to restart Vim. +loaded dynamically. + +On Linux/Unix systems this can only be done without importing global symbols. +In this case python's "import" might fail, if the library expects the symbols +to be provided by vim. To work around this +1. either the problematic library, or python in case of standard libraries, + must be recompiled to link to the according libpython.so file + (--enable-shared in case of python). +2. Or you recompile vim for only one python version. In this case all symbols + can be imported into vim. ============================================================================== vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 7ee555fb5b..94dcfdede0 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -199,6 +199,8 @@ J. Wang, 2009 Mar 31) When $VIMRUNTIME is set in .vimrc, need to reload lang files. Already done for GTK, how about others? (Ron Aaron, 2010 Apr 10) +Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9) + Motif: Build on Ubuntu can't enter any text in dialog text fields. When 'ft' changes redraw custom status line. diff --git a/runtime/syntax/pod.vim b/runtime/syntax/pod.vim index 9809d00b5a..f21e72a701 100644 --- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -1,7 +1,8 @@ " Vim syntax file -" Language: Perl POD format -" Maintainer: Scott Bigham -" Last Change: 2007 Jan 21 +" Language: Perl POD format +" Maintainer: Andy Lester +" URL: http://github.com/petdance/vim-perl +" Last Change: 2009-08-14 " To add embedded POD documentation highlighting to your syntax file, add " the commands: @@ -25,15 +26,15 @@ elseif exists("b:current_syntax") endif " POD commands -syn match podCommand "^=head[1234]" nextgroup=podCmdText contains=@NoSpell -syn match podCommand "^=item" nextgroup=podCmdText contains=@NoSpell -syn match podCommand "^=over" nextgroup=podOverIndent skipwhite contains=@NoSpell -syn match podCommand "^=back" contains=@NoSpell -syn match podCommand "^=cut" contains=@NoSpell -syn match podCommand "^=pod" contains=@NoSpell -syn match podCommand "^=for" nextgroup=podForKeywd skipwhite contains=@NoSpell -syn match podCommand "^=begin" nextgroup=podForKeywd skipwhite contains=@NoSpell -syn match podCommand "^=end" nextgroup=podForKeywd skipwhite contains=@NoSpell +syn match podCommand "^=head[1234]" nextgroup=podCmdText contains=@NoSpell +syn match podCommand "^=item" nextgroup=podCmdText contains=@NoSpell +syn match podCommand "^=over" nextgroup=podOverIndent skipwhite contains=@NoSpell +syn match podCommand "^=back" contains=@NoSpell +syn match podCommand "^=cut" contains=@NoSpell +syn match podCommand "^=pod" contains=@NoSpell +syn match podCommand "^=for" nextgroup=podForKeywd skipwhite contains=@NoSpell +syn match podCommand "^=begin" nextgroup=podForKeywd skipwhite contains=@NoSpell +syn match podCommand "^=end" nextgroup=podForKeywd skipwhite contains=@NoSpell " Text of a =head1, =head2 or =item command syn match podCmdText ".*$" contained contains=podFormat,@NoSpell From 16b0591410766e1278aba10999e4c783a21040a8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 12 Aug 2010 20:17:02 +0200 Subject: [PATCH 16/35] Include wchar.h in charset.c for towupper(). --HG-- branch : vim73 --- src/charset.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/charset.c b/src/charset.c index 87ad303332..21fb4e52c5 100644 --- a/src/charset.c +++ b/src/charset.c @@ -14,6 +14,9 @@ static int win_chartabsize __ARGS((win_T *wp, char_u *p, colnr_T col)); #endif #ifdef FEAT_MBYTE +# if defined(HAVE_WCHAR_H) +# include /* for towupper() and towlower() */ +# endif static int win_nolbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp)); #endif From 960f7a935d80d13bad3a1e77794ba9bd499a9431 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 12 Aug 2010 21:50:51 +0200 Subject: [PATCH 17/35] Improvements for :find completion. --HG-- branch : vim73 --- runtime/doc/todo.txt | 4 +- src/misc1.c | 177 ++++++++++++++++++++++++------------------ src/testdir/test73.in | 95 ++++++++++++++++++----- src/testdir/test73.ok | 6 ++ 4 files changed, 184 insertions(+), 98 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 94dcfdede0..642f52fc1e 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 10 +*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -32,6 +32,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. 'cursorline' stops too early in a help file, caused by conceal feature. +Have a close look at :find completion, anything that could be wrong? + Test 73 fails on MS-Windows when compiled with DJGPP. :find completion with 'path' set to "./**" results in full path for "./subdir/file", should shorten to start with "./". diff --git a/src/misc1.c b/src/misc1.c index 400ecf158d..432d36cbec 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -9263,6 +9263,7 @@ is_unique(maybe_unique, gap, i) int candidate_len; int other_path_len; char_u **other_paths = (char_u **)gap->ga_data; + char_u *rival; for (j = 0; j < gap->ga_len && !got_int; j++) { @@ -9275,7 +9276,8 @@ is_unique(maybe_unique, gap, i) if (other_path_len < candidate_len) continue; /* it's different */ - if (fnamecmp(maybe_unique, gettail(other_paths[j])) == 0) + rival = other_paths[j] + other_path_len - candidate_len; + if (fnamecmp(maybe_unique, rival) == 0) return FALSE; /* match */ } @@ -9301,8 +9303,6 @@ expand_path_option(curdir, gap) char_u *buf; char_u *p; - ga_init2(gap, (int)sizeof(char_u *), 1); - if ((buf = alloc((int)MAXPATHL)) == NULL) return; @@ -9357,7 +9357,7 @@ expand_path_option(curdir, gap) * * path: /foo/bar/baz * fname: /foo/bar/baz/quux.txt - * returns: ^this + * returns: ^this */ static char_u * get_path_cutoff(fname, gap) @@ -9413,15 +9413,21 @@ uniquefy_paths(gap, pattern) int i; int len; char_u **fnames = (char_u **)gap->ga_data; - int sort_again = 0; + int sort_again = FALSE; char_u *pat; char_u *file_pattern; char_u *curdir = NULL; regmatch_T regmatch; garray_T path_ga; + char_u **in_curdir = NULL; + char_u *short_name; sort_strings(fnames, gap->ga_len); remove_duplicates(gap); + if (gap->ga_len == 0) + return; + + ga_init2(&path_ga, (int)sizeof(char_u *), 1); /* * We need to prepend a '*' at the beginning of file_pattern so that the @@ -9447,17 +9453,21 @@ uniquefy_paths(gap, pattern) return; if ((curdir = alloc((int)(MAXPATHL))) == NULL) - return; + goto theend; mch_dirname(curdir, MAXPATHL); expand_path_option(curdir, &path_ga); + in_curdir = (char_u **)alloc(gap->ga_len * sizeof(char_u *)); + if (in_curdir == NULL) + goto theend; for (i = 0; i < gap->ga_len; i++) { char_u *path = fnames[i]; int is_in_curdir; char_u *dir_end = gettail(path); - char_u *short_name; + char_u *pathsep_p; + char_u *path_cutoff; len = (int)STRLEN(path); while (dir_end > path && @@ -9468,77 +9478,29 @@ uniquefy_paths(gap, pattern) #endif ) mb_ptr_back(path, dir_end); - is_in_curdir = STRNCMP(curdir, path, dir_end - path) == 0 + is_in_curdir = fnamencmp(curdir, path, dir_end - path) == 0 && curdir[dir_end - path] == NUL; - /* - * If the file is in the current directory, - * and it is not unique, - * reduce it to ./{filename} - * FIXME ^ Is this portable? - * - * Note: If the full filename is /curdir/foo/bar/{filename}, we don't - * want to shorten it to ./foo/bar/{filename} yet because 'path' might - * contain ". / * *", in which case the shortened filename could be - * shorter than ./foo/bar/{filename}. - */ if (is_in_curdir) - { - char_u *rel_path; - - short_name = shorten_fname(path, curdir); - if (short_name == NULL) - short_name = path; - if (is_unique(short_name, gap, i)) - { - STRMOVE(path, short_name); - continue; - } - - rel_path = alloc((int)(STRLEN(short_name) - + STRLEN(PATHSEPSTR) + 2)); - if (rel_path == NULL) - goto theend; - - /* FIXME Is "." a portable way of denoting the current directory? */ - STRCPY(rel_path, "."); - add_pathsep(rel_path); - STRCAT(rel_path, short_name); - - if (len < (int)STRLEN(rel_path)) - { - vim_free(fnames[i]); - fnames[i] = alloc((int)(STRLEN(rel_path) + 1)); - if (fnames[i] == NULL) - { - vim_free(rel_path); - goto theend; - } - } - - STRCPY(fnames[i], rel_path); - vim_free(rel_path); - sort_again = 1; - } + in_curdir[i] = vim_strsave(path); else - { - /* Shorten the filename while maintaining its uniqueness */ - char_u *pathsep_p; - char_u *path_cutoff = get_path_cutoff(path, &path_ga); + in_curdir[i] = NULL; - /* we start at the end of the path */ - pathsep_p = path + len - 1; + /* Shorten the filename while maintaining its uniqueness */ + path_cutoff = get_path_cutoff(path, &path_ga); - while (find_previous_pathsep(path, &pathsep_p)) - if (vim_regexec(®match, pathsep_p + 1, (colnr_T)0) - && is_unique(pathsep_p + 1, gap, i) - && path_cutoff != NULL && pathsep_p + 1 >= path_cutoff) - { - sort_again = 1; - mch_memmove(path, pathsep_p + 1, STRLEN(pathsep_p)); - break; - } - } + /* we start at the end of the path */ + pathsep_p = path + len - 1; + + while (find_previous_pathsep(path, &pathsep_p)) + if (vim_regexec(®match, pathsep_p + 1, (colnr_T)0) + && is_unique(pathsep_p + 1, gap, i) + && path_cutoff != NULL && pathsep_p + 1 >= path_cutoff) + { + sort_again = TRUE; + mch_memmove(path, pathsep_p + 1, STRLEN(pathsep_p)); + break; + } if (mch_isFullName(path)) { @@ -9548,11 +9510,11 @@ uniquefy_paths(gap, pattern) * 1. It is under the current directory. * 2. The result is actually shorter than the original. * - * Before curdir After - * /foo/bar/file.txt /foo/bar ./file.txt - * c:\foo\bar\file.txt c:\foo\bar .\file.txt - * /file.txt / /file.txt - * c:\file.txt c:\ .\file.txt + * Before curdir After + * /foo/bar/file.txt /foo/bar ./file.txt + * c:\foo\bar\file.txt c:\foo\bar .\file.txt + * /file.txt / /file.txt + * c:\file.txt c:\ .\file.txt */ short_name = shorten_fname(path, curdir); if (short_name != NULL && short_name > path + 1) @@ -9564,8 +9526,68 @@ uniquefy_paths(gap, pattern) } } + /* Shorten filenames in /in/current/directory/{filename} */ + for (i = 0; i < gap->ga_len; i++) + { + char_u *rel_path; + char_u *path = in_curdir[i]; + + if (path == NULL) + continue; + /* + * If the file is in the current directory, + * and it is not unique, + * reduce it to ./{filename} + * FIXME ^ Is this portable? + * else reduce it to {filename} + * + * Note: If the full filename is /curdir/foo/bar/{filename}, we don't + * want to shorten it to ./foo/bar/{filename} yet because 'path' might + * contain ". / * *", in which case the shortened filename could be + * shorter than ./foo/bar/{filename}. + */ + short_name = shorten_fname(path, curdir); + if (short_name == NULL) + short_name = path; + if (is_unique(short_name, gap, i)) + { + STRCPY(fnames[i], short_name); + continue; + } + + rel_path = alloc((int)(STRLEN(short_name) + STRLEN(PATHSEPSTR) + 2)); + if (rel_path == NULL) + goto theend; + + /* FIXME Is "." a portable way of denoting the current directory? */ + STRCPY(rel_path, "."); + add_pathsep(rel_path); + STRCAT(rel_path, short_name); + + if (len < (int)STRLEN(rel_path)) + { + vim_free(fnames[i]); + fnames[i] = alloc((int)(STRLEN(rel_path) + 1)); + if (fnames[i] == NULL) + { + vim_free(rel_path); + goto theend; + } + } + + STRCPY(fnames[i], rel_path); + vim_free(rel_path); + sort_again = TRUE; + } + theend: vim_free(curdir); + if (in_curdir != NULL) + { + for (i = 0; i < gap->ga_len; i++) + vim_free(in_curdir[i]); + vim_free(in_curdir); + } ga_clear_strings(&path_ga); vim_free(regmatch.regprog); @@ -9598,6 +9620,7 @@ expand_in_path(gap, pattern, flags) return 0; mch_dirname(curdir, MAXPATHL); + ga_init2(&path_ga, (int)sizeof(char_u *), 1); expand_path_option(curdir, &path_ga); vim_free(curdir); if (path_ga.ga_len == 0) diff --git a/src/testdir/test73.in b/src/testdir/test73.in index cb2604e681..41865908fb 100644 --- a/src/testdir/test73.in +++ b/src/testdir/test73.in @@ -6,7 +6,8 @@ STARTTEST :" delete the Xfind directory during cleanup :" :" This will cause a few errors, do it silently. -:set nocp viminfo+=nviminfo visualbell +:set visualbell +:set nocp viminfo+=nviminfo :" :function! DeleteDirectory(dir) : if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32") @@ -20,32 +21,33 @@ STARTTEST :call DeleteDirectory("Xfind") :new :let cwd=getcwd() -:!mkdir Xfind +:let test_out = cwd . '/test.out' +:silent !mkdir Xfind :cd Xfind :set path= :find -:w! ../test.out +:exec "w! " . test_out :close :new :set path=. :find -:w >>../test.out +:exec "w >>" . test_out :close :new :set path=.,, :find -:w >>../test.out +:exec "w >>" . test_out :close :new :set path=./** :find -:w >>../test.out +:exec "w >>" . test_out :close :new -:" We shouldn't find any file at this point, ../test.out must be empty. -:!mkdir in +:" We shouldn't find any file at this point, test.out must be empty. +:silent !mkdir in :cd in -:!mkdir path +:silent !mkdir path :exec "cd " . cwd :e Xfind/file.txt SHoly Grail:w @@ -57,40 +59,93 @@ SAnother Holy Grail:w SE.T.:w :set path=Xfind/** :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :" Rerun the previous three find completions, using fullpath in 'path' :exec "set path=" . cwd . "/Xfind/**" :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :" Same steps again, using relative and fullpath items that point to the same :" recursive location. :" This is to test that there are no duplicates in the completion list. :exec "set path+=Xfind/**" :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file :" Test find completion for directory of current buffer, which at this point :" is Xfind/in/file.txt. :set path=. :find st -:w >> test.out +:exec "w >>" . test_out :" Test find completion for empty path item ",," which is the current directory :cd Xfind :set path=,, :find f -:w >> ../test.out +:exec "w >>" . test_out +:" Test shortening of +:" +:" foo/x/bar/voyager.txt +:" foo/y/bar/voyager.txt +:" +:" When current directory is above foo/ they should be shortened to (in order +:" of appearance): +:" +:" x/bar/voyager.txt +:" y/bar/voyager.txt +:silent !mkdir foo +:cd foo +:silent !mkdir x +:silent !mkdir y +:cd x +:silent !mkdir bar +:cd .. +:cd y +:silent !mkdir bar +:cd .. +:cd .. +:" We should now be in the Xfind directory +:e foo/x/bar/voyager.txt +SVoyager 1:w +:e foo/y/bar/voyager.txt +SVoyager 2:w +:exec "set path=" . cwd . "/Xfind/**" +:find voyager +:exec "w >>" . test_out +:find voyager +:exec "w >>" . test_out +:" +:" When current directory is .../foo/y/bar they should be shortened to (in +:" order of appearance): +:" +:" ./voyager.txt +:" x/bar/voyager.txt +:cd foo +:cd y +:cd bar +:find voyager +:exec "w >> " . test_out +:find voyager +:exec "w >> " . test_out +:" Check the opposite too: +:cd .. +:cd .. +:cd x +:cd bar +:find voyager +:exec "w >> " . test_out +:find voyager +:exec "w >> " . test_out :cd .. :q :call DeleteDirectory("Xfind") diff --git a/src/testdir/test73.ok b/src/testdir/test73.ok index cd787f23a3..a54e5f447d 100644 --- a/src/testdir/test73.ok +++ b/src/testdir/test73.ok @@ -9,3 +9,9 @@ Jimmy Hoffa E.T. Another Holy Grail Holy Grail +Voyager 1 +Voyager 2 +Voyager 2 +Voyager 1 +Voyager 1 +Voyager 2 From 5ca64c5590c008e8ba6079fc6f4473b7a10e6fbe Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 12 Aug 2010 22:14:01 +0200 Subject: [PATCH 18/35] Fix: Lua interface tried to load the library when closing a buffer or window. --HG-- branch : vim73 --- src/if_lua.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/if_lua.c b/src/if_lua.c index 21f66e9bf2..35ee3002c6 100644 --- a/src/if_lua.c +++ b/src/if_lua.c @@ -1122,6 +1122,12 @@ luaV_setrange(lua_State *L, int line1, int line2) static lua_State *L = NULL; + static int +lua_is_open(void) +{ + return L != NULL; +} + static int lua_init(void) { @@ -1240,7 +1246,7 @@ ex_luafile(exarg_T *eap) void lua_buffer_free(buf_T *buf) { - if (lua_init() == FAIL) return; + if (!lua_is_open()) return; luaV_getfield(L, LUAVIM_FREE); lua_pushlightuserdata(L, (void *) buf); lua_call(L, 1, 0); @@ -1250,7 +1256,7 @@ lua_buffer_free(buf_T *buf) void lua_window_free(win_T *win) { - if (lua_init() == FAIL) return; + if (!lua_is_open()) return; luaV_getfield(L, LUAVIM_FREE); lua_pushlightuserdata(L, (void *) win); lua_call(L, 1, 0); From 17a24384f27c3c3b3ed5a2334c4f44f99269fcf3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 12 Aug 2010 22:19:09 +0200 Subject: [PATCH 19/35] Updated Finnish translations. (Flammie Pirinen) --HG-- branch : vim73 --- src/po/fi.po | 530 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 404 insertions(+), 126 deletions(-) diff --git a/src/po/fi.po b/src/po/fi.po index f8e6bf2b29..62ecf5d79d 100644 --- a/src/po/fi.po +++ b/src/po/fi.po @@ -1,6 +1,6 @@ # Finnish translation for Vim. # Copyright (C) 2003-2006 Free Software Foundation, Inc. -# 2007-2008, Flammie Pirinen +# 2007-2010, Flammie Pirinen # # Vimin kyttjt on nrttej. Sanasto on jargonia :-p # @@ -18,14 +18,35 @@ msgid "" msgstr "" "Project-Id-Version: Vim 7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-23 16:57+0300\n" -"PO-Revision-Date: 2008-07-23 17:15+0300\n" +"POT-Creation-Date: 2010-08-09 02:00+0300\n" +"PO-Revision-Date: 2010-08-09 02:35+0300\n" "Last-Translator: Flammie Pirinen \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: bf_key_init() tyhjll salasanalla" + +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: Blowfishin tavujrjestys vr" + +msgid "E818: sha256 test failed" +msgstr "E818: sha256-testi eponnistui failed" + +msgid "E819: Blowfish test failed" +msgstr "E819: Blowfish-testi eponnistui" + +msgid "[Location List]" +msgstr "[Sijaintiluettelo]" + +msgid "[Quickfix List]" +msgstr "[Pikakorjausluettelo]" + msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Mitn puskuria ei voitu varata, lopetetaan..." @@ -169,11 +190,8 @@ msgstr "" "\n" "# Puskuriluettelo:\n" -msgid "[Location List]" -msgstr "[Sijaintiluettelo]" - -msgid "[Quickfix List]" -msgstr "[Pikakorjausluettelo]" +msgid "[Scratch]" +msgstr "[Raapust]" msgid "" "\n" @@ -194,12 +212,18 @@ msgstr " rivi=%ld id=%d nimi=%s" msgid "E96: Can not diff more than %ld buffers" msgstr "E96: Ei voi diffata enemp kuin %ld puskuria" +msgid "E810: Cannot read or write temp files" +msgstr "E810: Ei voi lukea tai kirjoittaa vliaikaistiedostoja" + msgid "E97: Cannot create diffs" msgstr "E97: Ei voi luoda diffej" msgid "Patch file" msgstr "Patch-tiedosto" +msgid "E816: Cannot read patch output" +msgstr "E816: Ei voi lukea patchin tulostetta" + msgid "E98: Cannot read diff output" msgstr "E98: Ei voi lukea diffin tulostetta" @@ -304,7 +328,6 @@ msgstr " (korvaus) Vieritys (^E/^Y)" msgid "Scanning: %s" msgstr "Luetaan: %s" -#, c-format msgid "Scanning tags." msgstr "Luetaan tgej." @@ -515,6 +538,14 @@ msgstr "E723: Sanakirjan lopusta puuttuu }: %s" msgid "E724: variable nested too deep for displaying" msgstr "E724: muuttuja on upotettu liian syvlle nytettvksi" +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Liikaa argumentteja funktiolle %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Vri argumentteja funktiolle %s" + #, c-format msgid "E117: Unknown function: %s" msgstr "E117: Tuntematon funktio: %s" @@ -664,6 +695,10 @@ msgstr "E742: Ei voi muuttaa muuttujan %s arvoa" msgid "E698: variable nested too deep for making a copy" msgstr "E698: muuttuja on upotettu liian syvlle kopioitavaksi" +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Tuntematon funktio: %s" + #, c-format msgid "E124: Missing '(': %s" msgstr "E124: ( puuttuu: %s" @@ -675,6 +710,14 @@ msgstr "E125: Virheellinen argumentti: %s" msgid "E126: Missing :endfunction" msgstr "E126: :endfunction puuttuu" +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Funktion nimi on ristiriidassa muuttujan kanssa: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Funktiota %s ei voi mritell uudestaan, koska se on kytss" + #, c-format msgid "E746: Function name does not match script file name: %s" msgstr "E746: Funktion nimi ei ole sama kuin skriptin tiedostonnimi: %s" @@ -718,7 +761,6 @@ msgstr "jatkaa kohdassa %s" msgid "E133: :return not inside a function" msgstr "E133: :return ei ole funktion sisll" -#, c-format msgid "" "\n" "# global variables:\n" @@ -733,6 +775,9 @@ msgstr "" "\n" "\tViimeksi asetettu kohteesta " +msgid "No old files" +msgstr "Ei vanhoja tiedostoja" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Siirrytn vianetsinttilaan, kirjoita cont jatkaaksesi." @@ -759,8 +804,8 @@ msgstr "Ei katkaisukohtia" msgid "%3d %s %s line %ld" msgstr "%3d %s %s rivi %ld" -msgid "E750: First use :profile start " -msgstr "E750: Aloita kskyll :profile start " +msgid "E750: First use \":profile start {fname}\"" +msgstr "E750: Aloita kskyll :profile start {fname}" msgid "Save As" msgstr "Tallenna nimell" @@ -913,6 +958,9 @@ msgstr " info" msgid " marks" msgstr " merkit" +msgid " oldfiles" +msgstr " vanhaatiedostoa" + msgid " FAILED" msgstr " EPONNISTUI" @@ -1240,6 +1288,9 @@ msgstr "E468: T msgid "E467: Custom completion requires a function argument" msgstr "E467: Itse mritelty tydennys vaatii funktioargumentin" +msgid "unknown" +msgstr "tuntematon" + #, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: Vriteemaa %s ei lydy" @@ -1321,6 +1372,9 @@ msgstr "E191: Argumentin eteen- tai taaksep msgid "E192: Recursive use of :normal too deep" msgstr "E192: :normalin liian syv rekursio" +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: #< ei ole kytss jollei +eval ole pll" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: Ei vaihtoehtoista tiedostonime #:lle" @@ -1459,6 +1513,9 @@ msgstr "E193: :endfunction funktion ulkopuolella" msgid "E788: Not allowed to edit another buffer now" msgstr "E788: Puskuria ei voi muokata nyt" +msgid "E811: Not allowed to change buffer information now" +msgstr "E811: Puskuria ei voi vaihtaa nyt" + msgid "tagname" msgstr "tginimi" @@ -1494,6 +1551,9 @@ msgstr "E198: cmd_pchar komennon pituuden ulkopuolella" msgid "E199: Active window or buffer deleted" msgstr "E199: Aktiivinen ikkuna tai puskuri poistettu" +msgid "E812: Autocommands changed buffer or buffer name" +msgstr "E812: Autocommands muutti puskurin tai sen nimen" + msgid "Illegal file name" msgstr "Virheellinen tiedostonimi" @@ -1554,10 +1614,6 @@ msgstr "[Luku]" msgid "[CR missing]" msgstr "[CR puuttuu]" -# New Line eli uusi rivinvaihtomerkki (ei CR, LF tai CR LF) -msgid "[NL found]" -msgstr "[NL puuttuu]" - msgid "[long lines split]" msgstr "[pitkt rivit hajotettu]" @@ -1590,6 +1646,9 @@ msgstr "Muunnos charconvert ep msgid "can't read output of 'charconvert'" msgstr "charconvertin tulostetta ei voida lukea" +msgid "E821: File is encrypted with unknown method" +msgstr "E821: Tiedoston salaus on tuntematon" + msgid "E676: No matching autocommands for acwrite buffer" msgstr "E676: Ei autocommand-komentoa acwrite-puskurille" @@ -1664,12 +1723,23 @@ msgstr "E512: Sulkeminen ei onnistunut" msgid "E513: write error, conversion failed (make 'fenc' empty to override)" msgstr "E513: kirjoitusvirhe, muunnos eponnistui (tyhj fenc ohittaaksesi)" +#, c-format +msgid "" +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " +"override)" +msgstr "E513: kirjoitusvirhe, muunnos eponnistui rivill %ld" +"(tyhj fenc ohittaaksesi)" + msgid "E514: write error (file system full?)" msgstr "E514: kirjoitusvirhe (tiedostojrjestelm tysi)" msgid " CONVERSION ERROR" msgstr " MUUNNOSVIRHE" +#, c-format +msgid " in line %ld;" +msgstr " rivill %ld" + msgid "[Device]" msgstr "[Laite]" @@ -1735,6 +1805,11 @@ msgstr "%ld rivi msgid "1 character" msgstr "1 merkki" +#, c-format +msgid "%lld characters" +msgstr "%lld merkki" + +#. Explicit typecast avoids warning on Mac OS X 10.6 #, c-format msgid "%ld characters" msgstr "%ld merkki" @@ -1986,9 +2061,6 @@ msgstr "E254: V msgid "No match at cursor, finding next" msgstr "Ei tsmyst kursorin alla, etsitn seuraava" -msgid "Vim dialog..." -msgstr "Vim-ikkuna..." - msgid "" "&Yes\n" "&No\n" @@ -2031,12 +2103,15 @@ msgstr "Yl msgid "Down" msgstr "Alas" +#. 'Find Next' button msgid "Find Next" msgstr "Etsi seuraava" +#. 'Replace' button msgid "Replace" msgstr "Korvaa" +#. 'Replace All' button msgid "Replace All" msgstr "Korvaa kaikki" @@ -2055,12 +2130,6 @@ msgstr "Avaa v msgid "Vim: Main window unexpectedly destroyed\n" msgstr "Vim: Pikkuna tuhoutui odottamatta\n" -msgid "Font Selection" -msgstr "Fontin valinta" - -msgid "Used CUT_BUFFER0 instead of empty selection" -msgstr "Kytettiin CUT_BUFFER0:aa tyhjn valinnan sijaan" - msgid "&Filter" msgstr "&Suodata" @@ -2390,20 +2459,41 @@ msgstr "E623: Cscope-prosessin luonti ep msgid "E567: no cscope connections" msgstr "E567: ei cscope-yhteyksi" -#, c-format -msgid "E259: no matches found for cscope query %s of %s" -msgstr "E259: ei tsmyksi cscope-hakuun %s/%s" - #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" msgstr "E469: virheellinen cscopequickfix-asetus %c kohteelle %c" +#, c-format +msgid "E259: no matches found for cscope query %s of %s" +msgstr "E259: ei tsmyksi cscope-hakuun %s/%s" + msgid "cscope commands:\n" msgstr "cscope-komennot:\n" #, c-format -msgid "%-5s: %-30s (Usage: %s)" -msgstr "%-5s: %-30s (Kytt: %s)" +msgid "%-5s: %s%*s (Usage: %s)" +msgstr "%-5s: %s%*s (Kytt: %s)" + +msgid "" +"\n" +" c: Find functions calling this function\n" +" d: Find functions called by this function\n" +" e: Find this egrep pattern\n" +" f: Find this file\n" +" g: Find this definition\n" +" i: Find files #including this file\n" +" s: Find this C symbol\n" +" t: Find assignments to\n" +msgstr "" +"\n" +" c: Etsi tt funktiota kutsuvat funktiot\n" +" d: Etsi tmn funktion kutsumat funktiot\n" +" e: Etsi tm egrep-lauseke\n" +" f: Find tm tiedosto\n" +" g: Etsi tm mritys\n" +" i: Etsi tiedostoja jotka #inkluudaavat tmn\n" +" s: Etsi tm C-symboli\n" +" t: Etsi sijoitukset muuttujaan \n" #, c-format msgid "E625: cannot open cscope database: %s" @@ -2415,9 +2505,6 @@ msgstr "E626: ei voi hakea cscope-tietokannan tietoja" msgid "E568: duplicate cscope database not added" msgstr "E568: kaksoiskappaletta cscope-tietokannasta ei listty" -msgid "E569: maximum number of cscope connections reached" -msgstr "E569: enimmismr cscope-yhteyksi otettu" - #, c-format msgid "E261: cscope connection %s not found" msgstr "E261: cscope-yhteys %s puuttuu" @@ -2457,10 +2544,16 @@ msgstr "ei cscope-yhteyksi msgid " # pid database name prepend path\n" msgstr " # pid tietokanta lisyspolku\n" +msgid "Lua library cannot be loaded." +msgstr "Luan kirjastoa ei voitu ladata." + +msgid "cannot save undo information" +msgstr "ei voitu tallentaa kumoustietoja" + msgid "" -"???: Sorry, this command is disabled, the MzScheme library could not be " +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " "loaded." -msgstr "???: Sori, komento ei toimi, MzScheme-kirjastoa ei voitu ladata." +msgstr "E815: Sori, komento ei toimi, MzScheme-kirjastoa ei voitu ladata." msgid "invalid expression" msgstr "virheellinen ilmaus" @@ -2480,9 +2573,6 @@ msgstr "ikkunan indeksi alueen ulkopuolella" msgid "couldn't open buffer" msgstr "ei voitu avata puskuria" -msgid "cannot save undo information" -msgstr "ei voitu tallentaa kumoustietoja" - msgid "cannot delete line" msgstr "ei voitu poistaa rivi" @@ -2513,15 +2603,15 @@ msgstr "rivinumero arvoalueen ulkopuolelta" msgid "not allowed in the Vim sandbox" msgstr "ei sallittu Vimin hiekkalaatikossa" +msgid "E999: Python: Cannot use :py and :py3 in one session" +msgstr "E999: Python: Ei voi kytt komentoja :py ja :py3 samassa istunnossa" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." msgstr "" "E263: Sori, komento ei toimi, Python-kirjaston lataaminen ei onnistunut." -msgid "E659: Cannot invoke Python recursively" -msgstr "E659: Pythonia ei voi kutsua rekursiivisesti" - msgid "can't delete OutputObject attributes" msgstr "ei voi poistaa OutputObject-attribuutteja" @@ -2531,51 +2621,12 @@ msgstr "softspacen pit msgid "invalid attribute" msgstr "virheellinen attribuutti" -msgid "writelines() requires list of strings" -msgstr "writelines()-komennolle pit antaa merkkijonolista" - -msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Virhe IO-olioiden alustuksessa" - -msgid "attempt to refer to deleted buffer" -msgstr "yritettiin viitata poistettuun puskuriin" - -msgid "line number out of range" -msgstr "rivinumero arvoalueen ulkopuolella" - #, c-format msgid "" msgstr "" -msgid "invalid mark name" -msgstr "virheellinen merkin nimi" - -msgid "no such buffer" -msgstr "puskuria ei ole" - -msgid "attempt to refer to deleted window" -msgstr "yritettiin viitata poistettuun ikkunaan" - -msgid "readonly attribute" -msgstr "kirjoitussuojattu attribuutti" - -msgid "cursor position outside buffer" -msgstr "kursorin sijainti puskurin ulkopuolella" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -#, c-format -msgid "" -msgstr "" - -msgid "no such window" -msgstr "ikkunaa ei ole" +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Pythonia ei voi kutsua rekursiivisesti" msgid "E265: $_ must be an instance of String" msgstr "E265: muuttujan $_ pit olla Stringin instanssi" @@ -2705,6 +2756,9 @@ msgstr "ei toteutettu" msgid "cannot set line(s)" msgstr "ei voi asettaa rivej" +msgid "invalid mark name" +msgstr "virheellinen merkin nimi" + msgid "mark not set" msgstr "merkko ei ole asetettu" @@ -2715,6 +2769,9 @@ msgstr "rivi %d sarake %d" msgid "cannot insert/append line" msgstr "rivin lisys ei onnistu" +msgid "line number out of range" +msgstr "rivinumero arvoalueen ulkopuolella" + msgid "unknown flag: " msgstr "tuntematon asetus: " @@ -2797,9 +2854,15 @@ msgstr "V msgid "%d files to edit\n" msgstr "%d tiedostoa muokattavana\n" +msgid "netbeans is not supported with this GUI\n" +msgstr "netbeans ei toimi tss kyttliittymss\n" + msgid "This Vim was not compiled with the diff feature." msgstr "Thn Vimiin ei ole knnetty diff-toimintoja mukaan." +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "-nb:t ei voi kytt, koska sit ei knnetty mukaan\n" + msgid "Attempt to open script file again: \"" msgstr "Yritettiin avata skriptitiedostoa uudestaan:" @@ -3067,6 +3130,9 @@ msgstr "--serverlist\t\tLuettele Vim-palvelinten nimet ja lopeta" msgid "--servername \tSend to/become the Vim server " msgstr "--servername \tLhet Vim-palvelimelle tai luo se" +msgid "--startuptime \tWrite startup timing messages to " +msgstr "--startuptime \tKirjoita kynnistysaikaviestit tiedostoon " + msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tKyt -tiedostoa .viminfon sijaan" @@ -3103,12 +3169,6 @@ msgstr "-display \t\tUse resource as if vim was " -msgstr "-name \t\tKyt resurssia vim " - -msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t (toteuttamatta)\n" - msgid "-background \tUse for the background (also: -bg)" msgstr "-background \tKyt taustavrin (mys: -bg)" @@ -3286,15 +3346,6 @@ msgstr "E288: sy msgid "E289: input method doesn't support my preedit type" msgstr "E289: sytemetodi ei tue tt preedit-tyyppi" -msgid "E290: over-the-spot style requires fontset" -msgstr "E290: over-the-spot-tyyliss pit olla fontset" - -msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" -msgstr "E291: GTK+-versio vanhempi kuin 1.2.3: Tila-alue poistettu kytst" - -msgid "E292: Input Method Server is not running" -msgstr "E292: Sytemetodipalvelin ei ole kynniss" - msgid "E293: block was not locked" msgstr "E293: lohkoa ei ole lukittu" @@ -3380,6 +3431,11 @@ msgstr "" ",\n" "tai tiedosto on vahingoittunut." +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "E833: %s on salattu eik tm Vim tue salausta" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " on vioittunut (sivun koko on vhimmisarvoa pienempi).\n" @@ -3394,6 +3450,34 @@ msgstr "Alkuper msgid "E308: Warning: Original file may have been changed" msgstr "E308: Varoitus: Alkuperist tiedostoa saattaa olla muutettu" +#, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "Swap-tiedosto on salattu: %s" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "\n" +"Jos kytit uutta salausavainta muttet kirjoittanut tekstitiedostoa," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "\n" +"anna uusi salausavain." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "\n" +"Jos kirjoitit tekstitiedoston salausavaimen vaihdon jlkeen paina enteri" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "\n" +"kyttksesi samaa avainta teksti- ja swppitiedostoille" + #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Ei voitu lukea lohkoa 1 tiedostosta %s" @@ -3446,15 +3530,22 @@ msgstr "" "\n" "(Saattaa kannattaa kirjoittaa tm tiedosto toisella nimell\n" -msgid "and run diff with the original file to check for changes)\n" -msgstr "ja katsoa diffill muutoksia)\n" +msgid "and run diff with the original file to check for changes)" +msgstr "ja katso diffill muutokset alkuperiseen tiedostoon)" + +msgid "Recovery completed. Buffer contents equals file contents." +msgstr "Palautus onnistui. Puskurin ja tiedoston sisllt tsmvt." msgid "" -"Delete the .swp file afterwards.\n" "\n" -msgstr "" -"Poista .swp-tiedosto jlkikteen.\n" +"You may want to delete the .swp file now.\n" "\n" +msgstr "\n" +"Voit poistaa .swp-tiedosto nyt.\n" +"\n" + +msgid "Using crypt key from swap file for the text file.\n" +msgstr "Kytetn swpin salausavainta tekstitiedostolle\n" #. use msg() to start the scrolling properly msgid "Swap files found:" @@ -3843,11 +3934,11 @@ msgstr "E767: printf():lle annettiin liikaa argumentteja" msgid "W10: Warning: Changing a readonly file" msgstr "W10: Varoitus: Muutetaan kirjoitussuojattua tiedostoa" -msgid "Type number or click with mouse ( cancels): " -msgstr "Kirjoita numero tai valitse hiirell ( peruu): " +msgid "Type number and or click with mouse (empty cancels): " +msgstr "Kirjoita numero ja tai valitse hiirell (tyhj peruu): " -msgid "Choice number ( cancels): " -msgstr "Valitse numero ( peruu): " +msgid "Type number and (empty cancels): " +msgstr "Valitse numero ja (tyhj peruu): " msgid "1 more line" msgstr "1 rivi lis" @@ -3976,9 +4067,15 @@ msgstr "luettu Netbeans-soketista" msgid "E658: NetBeans connection lost for buffer %ld" msgstr "E658: NetBeans-yhteys katkesi puskurille %ld" +msgid "E511: netbeans already connected" +msgstr "E511: netbeans on yhdistetty jo" + msgid "E505: " msgstr "E505: " +msgid "E349: No identifier under cursor" +msgstr "E349: Ei tunnistetta osoittimen alla" + msgid "E774: 'operatorfunc' is empty" msgstr "E774: operatorfunc on tyhj" @@ -3991,9 +4088,6 @@ msgstr "Varoitus: terminaalista puuttuu korostus" msgid "E348: No string under cursor" msgstr "E348: Ei merkkijonoa kursorin alla" -msgid "E349: No identifier under cursor" -msgstr "E349: Ei tunnistetta osoittimen alla" - msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: taitoksia ei voi poistaa tll foldmethodilla" @@ -4083,7 +4177,6 @@ msgstr "" msgid "Illegal register name" msgstr "Virheellinen rekisterin nimi" -#, c-format msgid "" "\n" "# Registers:\n" @@ -4161,6 +4254,12 @@ msgstr "E531: K msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: backupext ja patchmod ovat samat" +msgid "E834: Conflicts with value of 'listchars'" +msgstr "E834: listcharsin arvoissa on ristiriitoja" + +msgid "E835: Conflicts with value of 'fillchars'" +msgstr "E835: fillcharsin arvossa on ristiriitoja" + msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Ei voi muuttaa GTK+2-GUIssa" @@ -4573,6 +4672,9 @@ msgstr "virhelista %d/%d, %d virhett msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ei voi kirjoittaa, buftype asetettu" +msgid "Error file" +msgstr "Virhetiedosto" + msgid "E683: File name missing or invalid pattern" msgstr "E683: Tiedostonimi puuttuu tai kuvio on viallinen" @@ -4892,6 +4994,10 @@ msgstr "" "COMPOUNDPERMITFLAG PFX:n jlkeen voi antaa vri tuloksia kohteessa %s " "rivill %d" +#, c-format +msgid "Wrong COMPOUNDRULES value in %s line %d: %s" +msgstr "Vr COMPOUNDRULES-arvo kohteessa %s rivill %d: %s" + #, c-format msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" msgstr "Vr COMPOUNDWORDMAX-arvo kohteessa %s rivill %d: %s" @@ -5226,9 +5332,6 @@ msgstr " rivinvaihdot" msgid "E395: contains argument not accepted here" msgstr "E395: contains ei sovi thn" -msgid "E396: containedin argument not accepted here" -msgstr "E396: containedin ei sovi thn" - msgid "E393: group[t]here not accepted here" msgstr "E393: group[t]here ei sovi thn" @@ -5430,12 +5533,19 @@ msgstr "E432: T msgid "E433: No tags file" msgstr "E433: Ei tgitiedostoja" +msgid "Ignoring long line in tags file" +msgstr "Ohitetaan pitk rivi tgitiedostossa" + msgid "E434: Can't find tag pattern" msgstr "E434: Tgikuviota ei lydy" msgid "E435: Couldn't find tag, just guessing!" msgstr "E435: Tgi ei lydy, arvataan." +#, c-format +msgid "Duplicate field name: %s" +msgstr "Kaksoiskappale kentn nimest: %s" + msgid "' not known. Available builtin terminals are:" msgstr " ei tunnettu. Tuetut terminaalit:" @@ -5472,10 +5582,88 @@ msgstr "uusi kuori avattu\n" msgid "Vim: Error reading input, exiting...\n" msgstr "Vim: Virhe luettaessa sytett, poistutaan...\n" +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Kytettiin CUT_BUFFER0:aa tyhjn valinnan sijaan" + +#. This happens when the FileChangedRO autocommand changes the +#. * file in a way it becomes shorter. +msgid "E834: Line count changed unexpectedly" +msgstr "E834: Rivimr vaihtui odottamatta" + #. must display the prompt msgid "No undo possible; continue anyway" msgstr "Ei voi kumota, jatketaan silti" +#, c-format +msgid "E828: Cannot open undo file for writing: %s" +msgstr "E828: Kumoustiedoston avaus kirjoittamista varten ei onnistu: %s" + +#, c-format +msgid "E825: Corrupted undo file (%s): %s" +msgstr "E825: Pilaanntunut kumoustiedosto (%s): %s" + +msgid "Cannot write undo file in any directory in 'undodir'" +msgstr "Ei voitu lukea kumoustiedostoa mistn undodir-muuttujan hakemistosta" + +#, c-format +msgid "Will not overwrite with undo file, cannot read: %s" +msgstr "Ei ylikirjoitetat kumoustiedostolla, koska ei voida lukea: %s" + +#, c-format +msgid "Will not overwrite, this is not an undo file: %s" +msgstr "Ei ylikirjoiteta, koska tm ei ole kumoustiedosto: %s" + +msgid "Skipping undo file write, nothing to undo" +msgstr "Ohitetaan kumoustiedoston kirjoitus, koska ei ole peruutettavia" + +#, c-format +msgid "Writing undo file: %s" +msgstr "Kirjoitetaan kumoustiedostoa: %s" + +#, c-format +msgid "E829: write error in undo file: %s" +msgstr "E829: Kirjoitusvirhe kumoustiedostossa: %s" + +#, c-format +msgid "Not reading undo file, owner differs: %s" +msgstr "Ei lueta kumoustiedosto jonka omistaja on eri: %s" + +#, c-format +msgid "Reading undo file: %s" +msgstr "Luetaan kumoustiedostoa: %s" + +#, c-format +msgid "E822: Cannot open undo file for reading: %s" +msgstr "E822: Kumoustiedostoa ei voi avata lukemista varten: %s" + +#, c-format +msgid "E823: Not an undo file: %s" +msgstr "E823: Ei ole kumoustiedosto: %s" + +#, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: Salaamattomalla tiedostolla on salattu kumoustiedosto: %s" + +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: Kumoustiedoston purku eponnistui: %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: Kumoustiedosto on salattu: %s" + +#, c-format +msgid "E824: Incompatible undo file: %s" +msgstr "E824: Epyhteensopiva kumoustiedosto: %s" + +msgid "File contents changed, cannot use undo info" +msgstr "Tiedoston sislt on muuttunut, joen kumoustiedot ovat " +"kyttkelvottomia" + +#, c-format +msgid "Finished reading undo file %s" +msgstr "Ladattu kumoustiedoto %s" + msgid "Already at oldest change" msgstr "Vanhimmassa muutoksessa" @@ -5483,8 +5671,8 @@ msgid "Already at newest change" msgstr "Nuorimmassa muutoksessa" #, c-format -msgid "Undo number %ld not found" -msgstr "Kumouslukua %ld ei lydy" +msgid "E830: Undo number %ld not found" +msgstr "E830: Kumouslukua %ld ei lydy" msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: vrt rivinumerot" @@ -5521,8 +5709,8 @@ msgstr "j msgid "Nothing to undo" msgstr "Ei kumottavaa" -msgid "number changes time" -msgstr "muutoksia aika" +msgid "number changes time saved" +msgstr "muutoksia aika tallennettu" #, c-format msgid "%ld seconds ago" @@ -5628,6 +5816,13 @@ msgstr "" "\n" "RISC OS-version" +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"OpenVMS-version" + msgid "" "\n" "Included patches: " @@ -5635,6 +5830,12 @@ msgstr "" "\n" "Ptsit: " +msgid "" +"\n" +"Extra patches: " +msgstr "\n" +"Muita ptsej: " + msgid "Modified by " msgstr "Muokannut " @@ -5689,15 +5890,9 @@ msgstr "ilman GUIta." msgid "with GTK2-GNOME GUI." msgstr "GTK2-Gnome-GUIlla." -msgid "with GTK-GNOME GUI." -msgstr "GTK-Gnome-GUIlla." - msgid "with GTK2 GUI." msgstr "GTK2-GUIlla." -msgid "with GTK GUI." -msgstr "GTK-GUIlla." - msgid "with X11-Motif GUI." msgstr "X11-Motif-GUIlla." @@ -5866,6 +6061,12 @@ msgstr "E443: Ei voi kiert msgid "E444: Cannot close last window" msgstr "E444: Ei voi sulkea viimeist ikkunaa" +msgid "E813: Cannot close autocmd window" +msgstr "E813: Ei voi sulkea autocmd-ikkunaa" + +msgid "E814: Cannot close window, only autocmd window would remain" +msgstr "E814: Ei voi sulkea viimeist ikkunaa, joka ei ole autocmd-ikkuna" + msgid "E445: Other window contains changes" msgstr "E445: Toinen ikkuna sislt muutoksia" @@ -5935,8 +6136,8 @@ msgstr "E11: Virheellinen komentorivi-ikkuna, suorittaa, Ctrl C lopettaa" msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" msgstr "" -"E12: Komentoa ei tueta exrc:ss tai vimrc:ss tss hakemistossa tai" -" tgihaussa" +"E12: Komentoa ei tueta exrc:ss tai vimrc:ss tss hakemistossa tai " +"tgihaussa" msgid "E171: Missing :endif" msgstr "E171: :endif puuttuu" @@ -6257,6 +6458,83 @@ msgstr "haku p msgid "search hit BOTTOM, continuing at TOP" msgstr "haku psi LOPPUUN, jatketaan ALUSTA" +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "Tarvitaan salausavain kohteelle %s " + +msgid "writelines() requires list of strings" +msgstr "writelines()-komennolle pit antaa merkkijonolista" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Virhe IO-olioiden alustuksessa" + +msgid "no such buffer" +msgstr "puskuria ei ole" + +msgid "attempt to refer to deleted window" +msgstr "yritettiin viitata poistettuun ikkunaan" + +msgid "readonly attribute" +msgstr "kirjoitussuojattu attribuutti" + +msgid "cursor position outside buffer" +msgstr "kursorin sijainti puskurin ulkopuolella" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "ikkunaa ei ole" + +msgid "attempt to refer to deleted buffer" +msgstr "yritettiin viitata poistettuun puskuriin" + +# New Line eli uusi rivinvaihtomerkki (ei CR, LF tai CR LF) +#~ msgid "[NL found]" +#~ msgstr "[NL puuttuu]" + +#~ msgid "Vim dialog..." +#~ msgstr "Vim-ikkuna..." + +#~ msgid "Font Selection" +#~ msgstr "Fontin valinta" + +#~ msgid "E569: maximum number of cscope connections reached" +#~ msgstr "E569: enimmismr cscope-yhteyksi otettu" + +#~ msgid "-name \t\tUse resource as if vim was " +#~ msgstr "-name \t\tKyt resurssia vim " + +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (toteuttamatta)\n" + +#~ msgid "E290: over-the-spot style requires fontset" +#~ msgstr "E290: over-the-spot-tyyliss pit olla fontset" + +#~ msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" +#~ msgstr "E291: GTK+-versio vanhempi kuin 1.2.3: Tila-alue poistettu kytst" + +#~ msgid "E292: Input Method Server is not running" +#~ msgstr "E292: Sytemetodipalvelin ei ole kynniss" + +#~ msgid "E396: containedin argument not accepted here" +#~ msgstr "E396: containedin ei sovi thn" + +#~ msgid "with GTK-GNOME GUI." +#~ msgstr "GTK-Gnome-GUIlla." + +#~ msgid "with GTK GUI." +#~ msgstr "GTK-GUIlla." + #~ msgid "-V[N]\t\tVerbose level" #~ msgstr "-V[N]\t\tMonisanaisuustaso" From 3960dfd634feff839aac85710fe21d4990daec0c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 11:18:02 +0200 Subject: [PATCH 20/35] Avoid warnings from the clang compiler. (Dominique Pelle) --HG-- branch : vim73 --- src/buffer.c | 2 +- src/ex_cmds.c | 6 +++--- src/mark.c | 6 +++--- src/misc2.c | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index ad484b452e..5e885b905d 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5082,7 +5082,7 @@ write_viminfo_bufferlist(fp) set_last_cursor(curwin); #endif - fprintf(fp, _("\n# Buffer list:\n")); + fputs(_("\n# Buffer list:\n"), fp); for (buf = firstbuf; buf != NULL ; buf = buf->b_next) { if (buf->b_fname == NULL diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 20a39ffffa..f78bf96435 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2080,9 +2080,9 @@ do_viminfo(fp_in, fp_out, flags) /* Write the info: */ fprintf(fp_out, _("# This viminfo file was generated by Vim %s.\n"), VIM_VERSION_MEDIUM); - fprintf(fp_out, _("# You may edit it if you're careful!\n\n")); + fputs(_("# You may edit it if you're careful!\n\n"), fp_out); #ifdef FEAT_MBYTE - fprintf(fp_out, _("# Value of 'encoding' when this file was written\n")); + fputs(_("# Value of 'encoding' when this file was written\n"), fp_out); fprintf(fp_out, "*encoding=%s\n\n", p_enc); #endif write_viminfo_search_pattern(fp_out); @@ -5422,7 +5422,7 @@ write_viminfo_sub_string(fp) { if (get_viminfo_parameter('/') != 0 && old_sub != NULL) { - fprintf(fp, _("\n# Last Substitute String:\n$")); + fputs(_("\n# Last Substitute String:\n$"), fp); viminfo_writestring(fp, old_sub); } } diff --git a/src/mark.c b/src/mark.c index ae31cf0fec..2669cb14ce 100644 --- a/src/mark.c +++ b/src/mark.c @@ -1434,7 +1434,7 @@ write_viminfo_filemarks(fp) if (get_viminfo_parameter('f') == 0) return; - fprintf(fp, _("\n# File marks:\n")); + fputs(_("\n# File marks:\n"), fp); /* * Find a mark that is the same file and position as the cursor. @@ -1469,7 +1469,7 @@ write_viminfo_filemarks(fp) #ifdef FEAT_JUMPLIST /* Write the jumplist with -' */ - fprintf(fp, _("\n# Jumplist (newest first):\n")); + fputs(_("\n# Jumplist (newest first):\n"), fp); setpcmark(); /* add current cursor position */ cleanup_jumplist(); for (fm = &curwin->w_jumplist[curwin->w_jumplistlen - 1]; @@ -1570,7 +1570,7 @@ write_viminfo_marks(fp_out) set_last_cursor(curwin); #endif - fprintf(fp_out, _("\n# History of marks within files (newest to oldest):\n")); + fputs(_("\n# History of marks within files (newest to oldest):\n"), fp_out); count = 0; for (buf = firstbuf; buf != NULL; buf = buf->b_next) { diff --git a/src/misc2.c b/src/misc2.c index 1cf198ff02..2db4b663ff 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -784,7 +784,7 @@ vim_mem_profile_dump() { printf("\r\n"); if (mem_frees[i] > mem_allocs[i]) - printf(_("ERROR: ")); + puts(_("ERROR: ")); printf("[>%d / %4lu-%-4lu]", i, mem_allocs[i], mem_frees[i]); } @@ -827,7 +827,7 @@ alloc_clear(size) { char_u *p; - p = (lalloc((long_u)size, TRUE)); + p = lalloc((long_u)size, TRUE); if (p != NULL) (void)vim_memset(p, 0, (size_t)size); return p; @@ -3802,7 +3802,7 @@ set_crypt_method(buf, method) /* * Prepare for initializing encryption. If already doing encryption then save * the state. - * Must always be called symmetrycally with crypt_pop_state(). + * Must always be called symmetrically with crypt_pop_state(). */ void crypt_push_state() @@ -3828,7 +3828,7 @@ crypt_push_state() /* * End encryption. If doing encryption before crypt_push_state() then restore * the saved state. - * Must always be called symmetrycally with crypt_push_state(). + * Must always be called symmetrically with crypt_push_state(). */ void crypt_pop_state() From fc88796a549f54a78517c9271b7cc0641d6e5b76 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 11:30:02 +0200 Subject: [PATCH 21/35] Updates for :TOhtml. (Benjamin Fritz) --HG-- branch : vim73 --- runtime/autoload/tohtml.vim | 10 +++++++++- runtime/plugin/tohtml.vim | 11 ++++++----- runtime/syntax/2html.vim | 25 ++++++++++++++++++------- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/runtime/autoload/tohtml.vim b/runtime/autoload/tohtml.vim index c189b188f3..c24d6ff427 100644 --- a/runtime/autoload/tohtml.vim +++ b/runtime/autoload/tohtml.vim @@ -1,6 +1,6 @@ " Vim autoload file for the tohtml plugin. " Maintainer: Ben Fritz -" Last Change: 2010 Aug 06 +" Last Change: 2010 Aug 12 " " Additional contributors: " @@ -52,6 +52,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) let xml_line = "" let tag_close = '>' + let s:old_paste = &paste + set paste + let s:old_magic = &magic + set magic + if s:settings.use_xhtml if s:settings.encoding != "" let xml_line = "" @@ -250,6 +255,9 @@ func! tohtml#Diff2HTML(win_list, buf_list) \ ]) endif endif + + let &paste = s:old_paste + let &magic = s:old_magic endfunc " Gets a single user option and sets it in the passed-in Dict, or gives it the diff --git a/runtime/plugin/tohtml.vim b/runtime/plugin/tohtml.vim index 433242fe1c..36b1f76085 100644 --- a/runtime/plugin/tohtml.vim +++ b/runtime/plugin/tohtml.vim @@ -1,22 +1,23 @@ " Vim plugin for converting a syntax highlighted file to HTML. " Maintainer: Ben Fritz -" Last Change: 2010 Aug 07 +" Last Change: 2010 Aug 12 " " The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and " $VIMRUNTIME/syntax/2html.vim " " TODO: -" * Bug: error thrown when nowrapscan is set -" * Line number column has one character too few on empty lines -" without CSS. +" * Restore open/closed folds and cursor position after processing each file +" with option not to restore for speed increase " * Add extra meta info (generation time, etc.) " * Tidy up so we can use strict doctype more? +" * Implementation detail: add threshold for writing the lines to the html +" buffer before we're done (5000 or so lines should do it) " * TODO comments for code cleanup scattered throughout if exists('g:loaded_2html_plugin') finish endif -let g:loaded_2html_plugin = 'vim7.3_v4' +let g:loaded_2html_plugin = 'vim7.3_v6' " Define the :TOhtml command when: " - 'compatible' is not set diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim index 77e037b6ca..ad58112d29 100644 --- a/runtime/syntax/2html.vim +++ b/runtime/syntax/2html.vim @@ -1,6 +1,6 @@ " Vim syntax support file " Maintainer: Ben Fritz -" Last Change: 2010 Aug 07 +" Last Change: 2010 Aug 12 " " Additional contributors: " @@ -126,10 +126,11 @@ function! s:HtmlFormat(text, style_name, diff_style_name) " Replace the reserved html characters let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&', 'g'), '<', '\<', 'g'), '>', '\>', 'g'), '"', '\"', 'g'), "\x0c", '
', 'g') - " Replace double spaces and leading spaces + " Replace double spaces, leading spaces, and trailing spaces if needed if ' ' != s:HtmlSpace let formatted = substitute(formatted, ' ', s:HtmlSpace . s:HtmlSpace, 'g') let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g') + let formatted = substitute(formatted, ' \+$', s:HtmlSpace, 'g') endif " Enclose in a span of class style_name @@ -201,9 +202,11 @@ endif " Set some options to make it work faster. " Don't report changes for :substitute, there will be many of them. +" Don't change other windows; turn off scroll bind temporarily let s:old_title = &title let s:old_icon = &icon let s:old_et = &l:et +let s:old_bind = &l:scrollbind let s:old_report = &report let s:old_search = @/ let s:old_more = &more @@ -211,6 +214,7 @@ set notitle noicon setlocal et set nomore set report=1000000 +setlocal noscrollbind if exists(':ownsyntax') && exists('w:current_syntax') let s:current_syntax = w:current_syntax @@ -247,7 +251,9 @@ let s:newwin_stl = &l:stl " on the new window, set the least time-consuming fold method let s:old_fdm = &foldmethod +let s:old_fen = &foldenable setlocal foldmethod=manual +setlocal nofoldenable let s:newwin = winnr() let s:orgwin = bufwinnr(s:orgbufnr) @@ -327,7 +333,7 @@ if s:settings.use_css \ ".closed-fold:hover > .toggle-filler { display: none; }", \ ".closed-fold:hover > .Folded { display: none; }", \ s:settings.use_xhtml ? "" : '-->', - \ '']) " TODO: IE7 doesn't *actually* support XHTML, maybe we should remove this. " But if it's served up as tag soup, maybe the following will work, so " leave it in for now. @@ -1055,6 +1061,7 @@ endif %s:\s\+$::e " Restore old settings +let &l:foldenable = s:old_fen let &l:foldmethod = s:old_fdm let &report = s:old_report let &title = s:old_title @@ -1065,6 +1072,7 @@ let @/ = s:old_search let &more = s:old_more exe s:orgwin . "wincmd w" let &l:et = s:old_et +let &l:scrollbind = s:old_bind exe s:newwin . "wincmd w" exec 'resize' s:old_winheight let &l:winfixheight = s:old_winfixheight @@ -1075,10 +1083,12 @@ let &ls=s:ls " Save a little bit of memory (worth doing?) unlet s:htmlfont -unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search s:old_magic s:old_more s:old_fdm s:old_winheight s:old_winfixheight -unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc +unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search +unlet s:old_magic s:old_more s:old_fdm s:old_fen s:old_winheight +unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_winfixheight unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:concealinfo -unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset s:ls s:origwin_stl s:newwin_stl s:current_syntax +unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset s:ls s:origwin_stl +unlet! s:newwin_stl s:current_syntax if !v:profiling delfunc s:HtmlColor delfunc s:HtmlFormat @@ -1099,7 +1109,8 @@ if !v:profiling endif endif -unlet! s:new_lnum s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline s:firstfold s:foldcolumn +unlet! s:new_lnum s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace +unlet! s:LeadingSpace s:HtmlEndline s:firstfold s:foldcolumn unlet s:foldstack s:allfolds s:foldId s:numcol s:settings let &cpo = s:cpo_sav From d93a09b391686db67e80eac9660897b09c3acffc Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 11:57:42 +0200 Subject: [PATCH 22/35] Updated Italian menus. (Vlad Sandrini) --HG-- branch : vim73 --- runtime/lang/menu_it_it.latin1.vim | 146 +++++++++++++++-------------- 1 file changed, 74 insertions(+), 72 deletions(-) diff --git a/runtime/lang/menu_it_it.latin1.vim b/runtime/lang/menu_it_it.latin1.vim index aac8fb6408..5a87bf00b2 100644 --- a/runtime/lang/menu_it_it.latin1.vim +++ b/runtime/lang/menu_it_it.latin1.vim @@ -1,7 +1,8 @@ " Menu Translations: Italian / Italiano " Maintainer: Antonio Colombo " Vlad Sandrini -" Last Change: 2006 Apr 03 +" Luciano Montanaro +" Last Change: 2010 Ago 13 " Quit when menu translations have already been done. if exists("did_menu_trans") @@ -15,37 +16,37 @@ scriptencoding iso-8859-1 menut &Help &Aiuto menut &Overview &Panoramica menut &User\ Manual Manuale\ &Utente -menut &How-to\ links Co&me\.\.\. +menut &How-to\ links Co&Me\.\.\. "menut &GUI &GUI -menut &Credits Cr&editi -menut Co&pying C&opie -menut &Sponsor/Register &Sponsor/Registrazione -menut O&rphans O&rfani +menut &Credits Cr&Editi +menut Co&pying C&Opie +menut &Sponsor/Register &Sponsor/registrazione +menut O&rphans O&Rfani "menut &Find\.\.\. &Cerca\.\.\. "NOTA: fa conflitto con 'cerca' nel menu 'modifica' menut &Version &Versione menut &About &Intro -let g:menutrans_help_dialog = "Batti un comando o una parola per cercare aiuto:\n\nPremetti i_ per comandi in modalit Input (ad.es.: i_CTRL-X)\nPremetti c_ per comandi che editano la linea-comandi (ad.es.: c_)\nPremetti ' per un nome di opzione (ad.es.: 'shiftwidth')" +let g:menutrans_help_dialog = "Batti un comando o una parola per cercare aiuto:\n\nPremetti i_ per comandi in modo Input (ad.es.: i_CTRL-X)\nPremetti c_ per comandi che editano la linea-comandi (ad.es.: c_)\nPremetti ' per un nome di opzione (ad.es.: 'shiftwidth')" " File menu "menut &File &File " menut &Open\.\.\.:e &Apri\.\.\.:e -menut Sp&lit-Open\.\.\.:sp A&pri\ nuova\ Finestra\.\.\.:sp +menut Sp&lit-Open\.\.\.:sp A&Pri\ nuova\ finestra\.\.\.:sp menut Open\ Tab\.\.\.:tabnew Apri\ nuova\ &Linguetta\.\.\.:tabnew menut &New:enew &Nuovo:enew menut &Close:close &Chiudi:close menut &Save:w &Salva:w -menut Save\ &As\.\.\.:sav Salva\ &con\ nome\.\.\.:sav +menut Save\ &As\.\.\.:sav Salva\ &Con\ nome\.\.\.:sav if has("diff") menut Split\ &Diff\ with\.\.\. Finestra\ &Differenza\ con\.\.\. - menut Split\ Patched\ &By\.\.\. Finestra\ Patc&h\ da\.\.\. + menut Split\ Patched\ &By\.\.\. Finestra\ patc&H\ da\.\.\. endif menut &Print S&tampa -menut Sa&ve-Exit:wqa Sa&lva\ ed\ esci:wqa +menut Sa&ve-Exit:wqa Sa&Lva\ ed\ esci:wqa menut E&xit:qa &Esci:qa " Edit / Modifica @@ -53,18 +54,18 @@ menut E&xit:qa &Esci:qa menut &Edit &Modifica menut &Undou &Annullau menut &Redo^R &Ripristina^R -menut Rep&eat\. Ri&peti\. +menut Rep&eat\. Ri&Peti\. menut Cu&t"+x &Taglia"+x menut &Copy"+y &Copia"+y menut &Paste"+gP &Incolla"+gP menut Put\ &Before[p &Metti\ davanti[p -menut Put\ &After]p M&etti\ dietro]p -menut &Deletex Cance&llax -menut &Select\ allggVG Seleziona\ &tuttoggVG -menut &Select\ AllggVG Seleziona\ &tuttoggVG +menut Put\ &After]p M&Etti\ dietro]p +menut &Deletex Cance&Llax +menut &Select\ allggVG Seleziona\ &TuttoggVG +menut &Select\ AllggVG Seleziona\ &TuttoggVG menut &Find\.\.\. &Cerca\.\.\. menut Find\ and\ Rep&lace\.\.\. &Sostituisci\.\.\. -menut Settings\ &Window &Finestra\ Impostazioni +menut Settings\ &Window &Finestra\ impostazioni menut Startup\ &Settings Impostazioni\ di\ &Avvio menut &Global\ Settings Impostazioni\ &Globali menut Question Domanda @@ -76,51 +77,52 @@ menut Toggle\ &Ignore-case:set\ ic! &Ignora\ maiusc\.-minusc\.\ S menut Toggle\ &Showmatch:set\ sm! Indica\ &Corrispondente\ S/No:set\ sm! menut &Context\ lines &Linee\ di\ contesto -menut &Virtual\ Edit &Edit\ Virtuale +menut &Virtual\ Edit &Edit\ virtuale menut Never Mai -menut Block\ Selection Selezione\ Blocco -menut Insert\ mode Modalit\ Inserimento -menut Block\ and\ Insert Selezione\ Blocco+Inserimento +menut Block\ Selection Selezione\ blocco +menut Insert\ mode Modo\ insert +menut Block\ and\ Insert Selezione\ blocco+inserimento menut Always Sempre -menut Toggle\ Insert\ &Mode:set\ im! &Modalit\ Inserimento\ S/No:set\ im! -menut Toggle\ Vi\ C&ompatible:set\ cp! C&ompatibile\ Vi\ S/No:set\ cp! +menut Toggle\ Insert\ &Mode:set\ im! &Modo\ insert\ S/No:set\ im! +menut Toggle\ Vi\ C&ompatible:set\ cp! C&Ompatibile\ VI\ S/No:set\ cp! menut Search\ &Path\.\.\. &Percorso\ di\ ricerca\.\.\. -menut Ta&g\ Files\.\.\. File\ Ta&g\.\.\. +menut Ta&g\ Files\.\.\. File\ ta&G\.\.\. " " Opzioni GUI -menut Toggle\ &Toolbar Barra\ S&trumenti\ S/No -menut Toggle\ &Bottom\ Scrollbar Barra\ Scorrimento\ in\ &fondo\ S/No -menut Toggle\ &Left\ Scrollbar Barra\ Scorrimento\ a\ &sinistra\ S/No -menut Toggle\ &Right\ Scrollbar Barra\ Scorrimento\ a\ &destra\ S/No +menut Toggle\ &Toolbar Barra\ s&Trumenti\ S/No +menut Toggle\ &Bottom\ Scrollbar Barra\ scorrimento\ in\ &Fondo\ S/No +menut Toggle\ &Left\ Scrollbar Barra\ scorrimento\ a\ &Sinistra\ S/No +menut Toggle\ &Right\ Scrollbar Barra\ scorrimento\ a\ &Destra\ S/No let g:menutrans_path_dialog = "Batti percorso di ricerca per i file.\nSepara fra loro i nomi di directory con una virgola." let g:menutrans_tags_dialog = "Batti nome dei file di tag.\nSepara fra loro i nomi di directory con una virgola." " Edit / Impostazioni File -menut F&ile\ Settings &Impostazioni\ File +menut F&ile\ Settings &Impostazioni\ file " Boolean options menut Toggle\ Line\ &Numbering:set\ nu! &Numerazione\ \ S/No:set\ nu! -menut Toggle\ &List\ Mode:set\ list! Modalit\ &Lista\ S/No:set\ list! +menut Toggle\ relati&ve\ Line\ Numbering:set\ rnu! Numerazione\ relati&Va\ S/No:set\ rnu! +menut Toggle\ &List\ Mode:set\ list! Modo\ &List\ S/No:set\ list! menut Toggle\ Line\ &Wrap:set\ wrap! Linee\ &Continuate\ S/No:set\ wrap! -menut Toggle\ W&rap\ at\ word:set\ lbr! A\ capo\ alla\ &parola\ S/No:set\ lbr! -menut Toggle\ &expand-tab:set\ et! &Espandi\ Tabulazione\ S/No:set\ et! -menut Toggle\ &auto-indent:set\ ai! Indentazione\ &automatica\ S/No:set ai! +menut Toggle\ W&rap\ at\ word:set\ lbr! A\ capo\ alla\ &Parola\ S/No:set\ lbr! +menut Toggle\ &expand-tab:set\ et! &Espandi\ tabulazione\ S/No:set\ et! +menut Toggle\ &auto-indent:set\ ai! Indentazione\ &Automatica\ S/No:set ai! menut Toggle\ &C-indenting:set\ cin! Indentazione\ stile\ &C\ S/No:set cin! " altre opzioni -menut &Shiftwidth &Spazi\ Rientranza -menut Soft\ &Tabstop &Tabulazione\ Software -menut Te&xt\ Width\.\.\. Lunghe&zza\ Riga\.\.\. +menut &Shiftwidth &Spazi\ rientranza +menut Soft\ &Tabstop &Tabulazione\ software +menut Te&xt\ Width\.\.\. Lunghe&Zza\ riga\.\.\. menut &File\ Format\.\.\. Formato\ &File\.\.\. let g:menutrans_textwidth_dialog = "Batti nuova lunghezza linea (0 per inibire la formattazione): " let g:menutrans_fileformat_dialog = "Scegli formato con cui scrivere il file" -menut C&olor\ Scheme Schema\ C&olori +menut C&olor\ Scheme Schema\ c&Olori menut default normale menut DEFAULT NORMALE @@ -157,9 +159,9 @@ menut Select\ Fo&nt\.\.\. Scegli\ &Font\.\.\. " Menu strumenti programmazione menut &Tools &Strumenti -menut &Jump\ to\ this\ tagg^] &Vai\ a\ questa\ Tagg^] -menut Jump\ &back^T Torna\ &indietro^T -menut Build\ &Tags\ File Costruisci\ File\ &Tags\ +menut &Jump\ to\ this\ tagg^] &Vai\ a\ questa\ tagg^] +menut Jump\ &back^T Torna\ &Indietro^T +menut Build\ &Tags\ File Costruisci\ file\ &Tags\ " Menu ortografia / Spelling menut &Spelling &Ortografia @@ -187,54 +189,54 @@ if has("folding") " apri e chiudi piegature menut &Enable/Disable\ foldszi Pi&egature\ S/Nozi menut &View\ Cursor\ Linezv &Vedi\ linea\ col\ Cursorezv - menut Vie&w\ Cursor\ Line\ onlyzMzx Vedi\ &solo\ linea\ col\ CursorezMzx - menut C&lose\ more\ foldszm C&hiudi\ pi\ Piegaturezm - menut &Close\ all\ foldszM &Chiudi\ tutte\ le\ PiegaturezM - menut O&pen\ more\ foldszr A&pri\ pi\ Piegaturezr - menut &Open\ all\ foldszR &Apri\ tutte\ le\ PiegaturezR + menut Vie&w\ Cursor\ Line\ onlyzMzx Vedi\ &Solo\ linea\ col\ CursorezMzx + menut C&lose\ more\ foldszm C&Hiudi\ pi\ piegaturezm + menut &Close\ all\ foldszM &Chiudi\ tutte\ le\ piegaturezM + menut O&pen\ more\ foldszr A&Pri\ pi\ piegaturezr + menut &Open\ all\ foldszR &Apri\ tutte\ le\ piegaturezR " metodo piegatura - menut Fold\ Met&hod Meto&do\ Piegatura + menut Fold\ Met&hod Meto&Do\ piegatura menut M&anual &Manuale menut I&ndent &Nidificazione menut E&xpression &Espressione\ Reg\. menut S&yntax &Sintassi menut &Diff &Differenza - menut Ma&rker Mar&catura + menut Ma&rker Mar&Catura " crea e cancella piegature menut Create\ &Foldzf Crea\ &Piegaturazf - menut &Delete\ Foldzd &Leva\ Piegaturazd - menut Delete\ &All\ FoldszD Leva\ &tutte\ le\ PiegaturezD + menut &Delete\ Foldzd &Leva\ piegaturazd + menut Delete\ &All\ FoldszD Leva\ &Tutte\ le\ piegaturezD " movimenti all'interno delle piegature - menut Fold\ col&umn\ width Larghezza\ piegat&ure\ in\ colonne + menut Fold\ col&umn\ width Larghezza\ piegat&Ure\ in\ colonne endif " has folding if has("diff") menut &Diff &Differenza " menut &Update &Aggiorna - menut &Get\ Block &Importa\ Differenze - menut &Put\ Block &Esporta\ Differenze + menut &Get\ Block &Importa\ differenze + menut &Put\ Block &Esporta\ differenze endif " has diff menut &Make:make Esegui\ &Make:make menut &List\ Errors:cl Lista\ &Errori:cl menut L&ist\ Messages:cl! Lista\ &Messaggi:cl! -menut &Next\ Error:cn Errore\ S&uccessivo:cn +menut &Next\ Error:cn Errore\ s&Uccessivo:cn menut &Previous\ Error:cp Errore\ &Precedente:cp -menut &Older\ List:cold Lista\ men&o\ recente:cold -menut N&ewer\ List:cnew Lista\ pi\ rece&nte:cnew +menut &Older\ List:cold Lista\ men&O\ recente:cold +menut N&ewer\ List:cnew Lista\ pi\ rece&Nte:cnew menut Error\ &Window &Finestra\ errori -menut &Update:cwin A&ggiorna:cwin +menut &Update:cwin A&Ggiorna:cwin menut &Open:copen &Apri:copen menut &Close:cclose &Chiudi:cclose -menut &Convert\ to\ HEX:%!xxd &Converti\ a\ Esadecimale:%!xxd -menut Conve&rt\ back:%!xxd\ -r Conve&rti\ da\ Esadecimale:%!xxd\ -r +menut &Convert\ to\ HEX:%!xxd &Converti\ a\ esadecimale:%!xxd +menut Conve&rt\ back:%!xxd\ -r Conve&rti\ da\ esadecimale:%!xxd\ -r -menut &SeT\ Compiler Impo&sta\ Compilatore +menut Se&T\ Compiler Impo&Sta\ Compilatore " Buffers / Buffer menut &Buffers &Buffer @@ -247,13 +249,13 @@ menut &Previous &Precedente menut [No\ File] [Nessun\ File] " Syntax / Sintassi menut &Syntax &Sintassi -menut &Show\ filetypes\ in\ menu Mo&stra\ tipi\ di\ file\ nel\ menu -menut Set\ '&syntax'\ only Attiva\ solo\ \ '&syntax' -menut Set\ '&filetype'\ too Attiva\ anche\ '&filetype' +menut &Show\ filetypes\ in\ menu Mo&Stra\ tipi\ di\ file\ nel\ menu +menut Set\ '&syntax'\ only &S\ Attiva\ solo\ \ 'syntax' +menut Set\ '&filetype'\ too &F\ Attiva\ anche\ 'filetype' menut &Off &Disattiva menut &Manual &Manuale -menut A&utomatic A&utomatico -menut on/off\ for\ &This\ file Attiva\ S/No\ su\ ques&to\ file +menut A&utomatic A&Utomatico +menut on/off\ for\ &This\ file Attiva\ S/No\ su\ ques&To\ file menut Co&lor\ test Test\ &Colori menut &Highlight\ test Test\ &Evidenziamento menut &Convert\ to\ HTML Converti\ ad\ &HTML @@ -265,12 +267,12 @@ menut &Window &Finestra menut &New^Wn &Nuova^Wn menut S&plit^Ws &Dividi\ lo\ schermo^Ws -menut Sp&lit\ To\ #^W^^ D&ividi\ verso\ #^W^^ -menut Split\ &Vertically^Wv Di&vidi\ verticalmente^Wv -menut Split\ File\ E&xplorer Aggiungi\ finestra\ E&xplorer +menut Sp&lit\ To\ #^W^^ D&Ividi\ verso\ #^W^^ +menut Split\ &Vertically^Wv Di&Vidi\ verticalmente^Wv +menut Split\ File\ E&xplorer Aggiungi\ finestra\ e&Xplorer menut &Close^Wc &Chiudi^Wc -menut Close\ &Other(s)^Wo C&hiudi\ altra(e)^Wo +menut Close\ &Other(s)^Wo C&Hiudi\ altra(e)^Wo menut Move\ &To &Muovi\ verso @@ -278,12 +280,12 @@ menut &Top^WK &Cima^WK menut &Bottom^WJ &Fondo^WJ menut &Left\ side^WH Lato\ &Sinistro^WH menut &Right\ side^WL Lato\ &Destro^WL -menut Rotate\ &Up^WR Ruota\ verso\ l'&alto^WR -menut Rotate\ &Down^Wr Ruota\ verso\ il\ &basso^Wr +menut Rotate\ &Up^WR Ruota\ verso\ l'&Alto^WR +menut Rotate\ &Down^Wr Ruota\ verso\ il\ &Basso^Wr menut &Equal\ Size^W= &Uguale\ ampiezza^W= menut &Max\ Height^W_ &Altezza\ massima^W_ -menut M&in\ Height^W1_ A<ezza\ minima^W1_ +menut M&in\ Height^W1_ A&Ltezza\ minima^W1_ menut Max\ &Width^W\| Larghezza\ massima^W\| menut Min\ Widt&h^W1\| Larghezza\ minima^W1\| @@ -298,7 +300,7 @@ menut Select\ Blockwise Seleziona\ in\ blocco menut Select\ &Word Seleziona\ &Parola menut Select\ &Line Seleziona\ &Linea menut Select\ &Block Seleziona\ &Blocco -menut Select\ &All Seleziona\ T&utto +menut Select\ &All Seleziona\ t&Utto " The GUI Toolbar / Barra Strumenti if has("toolbar") From 1d86870323b21ba648b29304dde910e750592fda Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 12:09:22 +0200 Subject: [PATCH 23/35] Update to Perl runtime files. (Andy Lester) --HG-- branch : vim73 --- runtime/ftplugin/perl6.vim | 3 +- runtime/syntax/perl.vim | 59 ++++++++++++++++++-------------------- runtime/syntax/pod.vim | 1 + 3 files changed, 30 insertions(+), 33 deletions(-) diff --git a/runtime/ftplugin/perl6.vim b/runtime/ftplugin/perl6.vim index 70339ff6b2..49d829b768 100644 --- a/runtime/ftplugin/perl6.vim +++ b/runtime/ftplugin/perl6.vim @@ -2,7 +2,7 @@ " Language: Perl 6 " Maintainer: Andy Lester " URL: http://github.com/petdance/vim-perl/tree/master -" Last Change: 2009-04-18 +" Last Change: 2010-08-10 " Contributors: Hinrik Örn Sigurðsson " " Based on ftplugin/perl.vim by Dan Sharp @@ -32,7 +32,6 @@ endif setlocal include=\\<\\(use\\\|require\\)\\> setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','') setlocal define=[^A-Za-z_] -setlocal iskeyword=@,48-57,_,192-255 " The following line changes a global variable but is necessary to make " gf and similar commands work. Thanks to Andrew Pimlott for pointing out diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim index ca5e099530..5510c4b615 100644 --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -2,7 +2,7 @@ " Language: Perl 5 " Maintainer: Andy Lester " URL: http://github.com/petdance/vim-perl/tree/master -" Last Change: 2009-09-2 +" Last Change: 2010-08-10 " Contributors: Andy Lester " Hinrik Örn Sigurðsson " Lukas Mai @@ -28,37 +28,8 @@ " let perl_nofold_packages = 1 " let perl_nofold_subs = 1 -if version < 600 - echoerr ">=vim-6.0 is required to run perl.vim" +if exists("b:current_syntax") finish -elseif exists("b:current_syntax") - finish -endif - -" -" Folding - -if exists("perl_fold") - " Note: this bit must come before the actual highlighting of the "package" - " keyword, otherwise this will screw up Pod lines that match /^package/ - if !exists("perl_nofold_packages") - syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend - endif - if !exists("perl_nofold_subs") - syn region perlSubFold start="^\z(\s*\)\.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend - syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend - endif - - if exists("perl_fold_blocks") - syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)foreach\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend - syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend - endif - - setlocal foldmethod=syntax - syn sync fromstart -else - " fromstart above seems to set minlines even if perl_fold is not set. - syn sync minlines=0 endif @@ -419,6 +390,32 @@ else syntax region perlDATA start="^__\%(DATA\|END\)__$" skip="." end="." contains=perlPOD,@perlDATA endif +" +" Folding + +if exists("perl_fold") + " Note: this bit must come before the actual highlighting of the "package" + " keyword, otherwise this will screw up Pod lines that match /^package/ + if !exists("perl_nofold_packages") + syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend + endif + if !exists("perl_nofold_subs") + syn region perlSubFold start="^\z(\s*\)\.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend + syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend + endif + + if exists("perl_fold_blocks") + syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)foreach\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend + syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend + endif + + setlocal foldmethod=syntax + syn sync fromstart +else + " fromstart above seems to set minlines even if perl_fold is not set. + syn sync minlines=0 +endif + command -nargs=+ HiLink hi def link " The default highlighting. diff --git a/runtime/syntax/pod.vim b/runtime/syntax/pod.vim index f21e72a701..041c7c4cfc 100644 --- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -1,6 +1,7 @@ " Vim syntax file " Language: Perl POD format " Maintainer: Andy Lester +" Previously: Scott Bigham " URL: http://github.com/petdance/vim-perl " Last Change: 2009-08-14 From 2c33d78d77864cde0fd54c0d1171007afa878b39 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 13:36:15 +0200 Subject: [PATCH 24/35] More fixes for :find completion. (mostly by Nazri Ramliy) --HG-- branch : vim73 --- src/misc1.c | 83 ++++++++++++++++++++++++++++------------ src/testdir/Make_dos.mak | 2 + src/testdir/test73.in | 6 ++- src/testdir/test73.ok | 1 + 4 files changed, 66 insertions(+), 26 deletions(-) diff --git a/src/misc1.c b/src/misc1.c index 432d36cbec..ead5c08f7d 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -4411,6 +4411,7 @@ fullpathcmp(s1, s2, checkname) /* * Get the tail of a path: the file name. + * When the path ends in a path separator the tail is the NUL after it. * Fail safe: never returns NULL. */ char_u * @@ -4430,6 +4431,46 @@ gettail(fname) return p1; } +#if defined(FEAT_SEARCHPATH) +static char_u *gettail_dir __ARGS((char_u *fname)); + +/* + * Return the end of the directory name, on the first path + * separator: + * "/path/file", "/path/dir/", "/path//dir", "/file" + * ^ ^ ^ ^ + */ + static char_u * +gettail_dir(fname) + char_u *fname; +{ + char_u *dir_end = fname; + char_u *next_dir_end = fname; + int look_for_sep = TRUE; + char_u *p; + + for (p = fname; *p != NUL; ) + { + if (vim_ispathsep(*p)) + { + if (look_for_sep) + { + next_dir_end = p; + look_for_sep = FALSE; + } + } + else + { + if (!look_for_sep) + dir_end = next_dir_end; + look_for_sep = TRUE; + } + mb_ptr_adv(p); + } + return dir_end; +} +#endif + /* * Get pointer to tail of "fname", including path separators. Putting a NUL * here leaves the directory name. Takes care of "c:/" and "//". @@ -9388,13 +9429,7 @@ get_path_cutoff(fname, gap) /* Skip to the file or directory name */ if (cutoff != NULL) - while ( -# if defined(MSWIN) || defined(MSDOS) - *cutoff == '/' -#else - vim_ispathsep(*cutoff) -#endif - ) + while (vim_ispathsep(*cutoff)) mb_ptr_adv(cutoff); return cutoff; @@ -9465,19 +9500,11 @@ uniquefy_paths(gap, pattern) { char_u *path = fnames[i]; int is_in_curdir; - char_u *dir_end = gettail(path); + char_u *dir_end = gettail_dir(path); char_u *pathsep_p; char_u *path_cutoff; len = (int)STRLEN(path); - while (dir_end > path && -# if defined(MSWIN) || defined(MSDOS) - *dir_end != '/' -#else - !vim_ispathsep(*dir_end) -#endif - ) - mb_ptr_back(path, dir_end); is_in_curdir = fnamencmp(curdir, path, dir_end - path) == 0 && curdir[dir_end - path] == NUL; @@ -9517,7 +9544,19 @@ uniquefy_paths(gap, pattern) * c:\file.txt c:\ .\file.txt */ short_name = shorten_fname(path, curdir); - if (short_name != NULL && short_name > path + 1) + if (short_name != NULL && short_name > path + 1 +#if defined(MSWIN) || defined(MSDOS) + /* + * On windows, + * + * shorten_fname("c:\a\a.txt", "c:\a\b") + * + * returns "\a\a.txt", which is not really the short + * name, hence: + */ + && !vim_ispathsep(*short_name) +#endif + ) { STRCPY(path, "."); add_pathsep(path); @@ -9535,16 +9574,10 @@ uniquefy_paths(gap, pattern) if (path == NULL) continue; /* - * If the file is in the current directory, - * and it is not unique, + * If the {filename} is not unique, * reduce it to ./{filename} * FIXME ^ Is this portable? * else reduce it to {filename} - * - * Note: If the full filename is /curdir/foo/bar/{filename}, we don't - * want to shorten it to ./foo/bar/{filename} yet because 'path' might - * contain ". / * *", in which case the shortened filename could be - * shorter than ./foo/bar/{filename}. */ short_name = shorten_fname(path, curdir); if (short_name == NULL) @@ -9826,7 +9859,7 @@ gen_expand_wildcards(num_pat, pat, num_file, file, flags) } #if defined(FEAT_SEARCHPATH) - if (flags & EW_PATH) + if (ga.ga_len > 0 && (flags & EW_PATH)) uniquefy_paths(&ga, p); #endif if (p != pat[i]) diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak index be253c9b7b..bb9de46fb6 100644 --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -60,6 +60,7 @@ clean: -if exist mzscheme.vim del mzscheme.vim -del X* -del X*.* + -if exists Xfind rmdir /S /Q Xfind -if exist viminfo del viminfo .in.out: @@ -69,5 +70,6 @@ clean: -if exist $*.out del $*.out rename test.out $*.out -del X* + -del X*.* -del test.ok -if exist viminfo del viminfo diff --git a/src/testdir/test73.in b/src/testdir/test73.in index 41865908fb..712e1236b6 100644 --- a/src/testdir/test73.in +++ b/src/testdir/test73.in @@ -146,8 +146,12 @@ SVoyager 2:w :exec "w >> " . test_out :find voyager :exec "w >> " . test_out -:cd .. +:" Check for correct handling of shorten_fname()'s behavior on windows +:exec "cd " . cwd . "/Xfind/in" +:find file +:exec "w >>" . test_out :q +:exec "cd " . cwd :call DeleteDirectory("Xfind") :qa! ENDTEST diff --git a/src/testdir/test73.ok b/src/testdir/test73.ok index a54e5f447d..4dd48fbac9 100644 --- a/src/testdir/test73.ok +++ b/src/testdir/test73.ok @@ -15,3 +15,4 @@ Voyager 2 Voyager 1 Voyager 1 Voyager 2 +Jimmy Hoffa From e698e2e8927f6b77cbb985fc7beb46bb0b6aebaa Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 13:57:13 +0200 Subject: [PATCH 25/35] Fix #ifdef for GDK_SUPER_MASK. --HG-- branch : vim73 --- src/gui_gtk_x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 76ca4fef75..e58ed73d8c 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -889,7 +889,7 @@ modifiers_gdk2vim(guint state) modifiers |= MOD_MASK_CTRL; if (state & GDK_MOD1_MASK) modifiers |= MOD_MASK_ALT; -#ifdef GDK_SUPER_MASK +#if GTK_CHECK_VERSION(2,10,0) if (state & GDK_SUPER_MASK) modifiers |= MOD_MASK_META; #endif From d341131f60cd6d90453469f18f65dff650d55a9d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 14:38:12 +0200 Subject: [PATCH 26/35] Runtime file updates. --HG-- branch : vim73 --- runtime/spell/pt/main.aap | 3 ++- runtime/syntax/tex.vim | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/runtime/spell/pt/main.aap b/runtime/spell/pt/main.aap index 2770f9315e..e54f9d5caf 100644 --- a/runtime/spell/pt/main.aap +++ b/runtime/spell/pt/main.aap @@ -59,7 +59,8 @@ pt_PT.aff pt_PT.dic: {buildcheck=} :delete {f} description.xml :delete {f} dictionaries.xcu :delete {f} LICENSES.txt - :sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c update -c q + # Remove grammer items and the duplicates this causes + :sys $VIM pt_PT.dic -u NONE -e -c "%s/\t.*//" -c "2,$$ sort u" -c update -c q :sys $VIM pt_PT.aff -u NONE -e -c "%s/\S\+=\S\+$$//" -c update -c q @if not os.path.exists('pt_PT.orig.aff'): :copy pt_PT.aff pt_PT.orig.aff diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index 97fc898caa..5e6fc7f148 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Dr. Charles E. Campbell, Jr. -" Last Change: Aug 09, 2010 -" Version: 56 +" Last Change: Aug 12, 2010 +" Version: 57 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Notes: {{{1 @@ -814,8 +814,8 @@ if has("conceal") && &enc == 'utf-8' " Superscripts/Subscripts {{{2 if s:tex_conceal =~ 's' - syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement - syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement + syn region texSuperscript matchgroup=Delimiter start='\^{' end='}' contained concealends contains=texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher + syn region texSubscript matchgroup=Delimiter start='_{' end='}' contained concealends contains=texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher fun! s:SuperSub(group,leader,pat,cchar) exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s' From cd6dedcaccb55b913aca68a8ddbedfb91bc519ae Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 14:58:53 +0200 Subject: [PATCH 27/35] Fix for Yaml syntax file. (Nikolai Weibull) --HG-- branch : vim73 --- runtime/syntax/yaml.vim | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim index 4e93d67c7a..1ff4fffc74 100644 --- a/runtime/syntax/yaml.vim +++ b/runtime/syntax/yaml.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: YAML (YAML Ain't Markup Language) " Maintainer: Nikolai Weibull -" Latest Revision: 2010-05-30 +" Latest Revision: 2010-08-12 if exists("b:current_syntax") finish @@ -17,7 +17,7 @@ syn region yamlComment display oneline start='\%(^\|\s\)#' end='$' syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)' -syn match yamlAnchor '&[^ \t]\+' +syn match yamlAnchor '&.\+' syn match yamlAlias '\*.\+' @@ -26,9 +26,11 @@ syn match yamlBlock '[\[\]{}>|]' syn match yamlOperator '[?+-]' syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:' -syn region yamlString start=+"+ skip=+\\"+ end=+"+ +syn region yamlString matchgroup=yamlStringDelimiter + \ start=+"+ skip=+\\"+ end=+"+ \ contains=yamlEscape -syn region yamlString start=+'+ skip=+''+ end=+'+ +syn region yamlString matchgroup=yamlStringDelimiter + \ start=+'+ skip=+''+ end=+'+ \ contains=yamlSingleEscape syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+ syn match yamlEscape contained display '\\x\x\{2}' @@ -36,7 +38,7 @@ syn match yamlEscape contained display '\\u\x\{4}' syn match yamlEscape contained display '\\U\x\{8}' " TODO: how do we get 0x85, 0x2028, and 0x2029 into this? syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)' -syn match yamlSingleEscape contained display +''+ +syn match yamlSingleEscape contained +''+ " TODO: sexagecimal and fixed (20:30.15 and 1,230.15) syn match yamlNumber display @@ -71,6 +73,7 @@ hi def link yamlBlock Operator hi def link yamlOperator Operator hi def link yamlKey Identifier hi def link yamlString String +hi def link yamlStringDelimiter yamlString hi def link yamlEscape SpecialChar hi def link yamlSingleEscape SpecialChar hi def link yamlNumber Number From 34dc8f98596810d7b79817b1a4cbd231ea952411 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 15:24:39 +0200 Subject: [PATCH 28/35] Conceal feature caused the 'cursorline' highlighting to stop early. --HG-- branch : vim73 --- runtime/doc/todo.txt | 10 +++++++--- src/screen.c | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 642f52fc1e..6d2036e454 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 12 +*todo.txt* For Vim version 7.3f. Last change: 2010 Aug 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,10 +30,12 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -'cursorline' stops too early in a help file, caused by conceal feature. - Have a close look at :find completion, anything that could be wrong? +Patch for :python + :py3. (James Vega, Roland Puntaier, 2010 Aug 12) + +Patch for crash with cmdline editing functions. (Dominique Pelle, 2010 Aug 12) + Test 73 fails on MS-Windows when compiled with DJGPP. :find completion with 'path' set to "./**" results in full path for "./subdir/file", should shorten to start with "./". @@ -60,6 +62,8 @@ Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the Problem producing tags file when hebrew.frx is present. It has a BOM. Results in E670. (Tony Mechelynck, 2010 May 2) +setpos() does not resture cursor position after :normal. (Tyru, 2010 Aug 11) + 'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15) ":helpgrep" does not put the cursor in the correct column when preceded by diff --git a/src/screen.c b/src/screen.c index a933d6cb0c..380eb8b3b9 100644 --- a/src/screen.c +++ b/src/screen.c @@ -4399,7 +4399,11 @@ win_line(wp, lnum, startrow, endrow, nochange) # ifdef FEAT_RIGHTLEFT wp->w_p_rl ? (col >= 0) : # endif - (col < W_WIDTH(wp)))) + (col +# ifdef FEAT_CONCEAL + - boguscols +# endif + < W_WIDTH(wp)))) { /* Highlight until the right side of the window */ c = ' '; From 148e62080878f7e438aae024efc3a5f9b2626515 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 16:22:57 +0200 Subject: [PATCH 29/35] Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier) --HG-- branch : vim73 --- runtime/doc/if_pyth.txt | 6 ++- runtime/doc/todo.txt | 9 ++--- src/Makefile | 1 + src/auto/configure | 87 ++++++++++++++++++++++++++++++++++++++--- src/config.h.in | 3 ++ src/configure.in | 62 ++++++++++++++++++++++++++--- src/if_python.c | 15 +++---- src/if_python3.c | 15 +++---- 8 files changed, 162 insertions(+), 36 deletions(-) diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index d7d91b190e..edac295404 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 7.3f. Last change: 2010 Aug 10 +*if_pyth.txt* For Vim version 7.3f. Last change: 2010 Aug 13 VIM REFERENCE MANUAL by Paul Moore @@ -348,8 +348,10 @@ Vim can be built in four ways (:version output): 3. Python 3 support only (-python, +python3 or +python3/dyn) 4. Python 2 and 3 support (+python/dyn, +python3/dyn) + *E836* *E837* You can see that when Python 2 and Python 3 are both supported they must be -loaded dynamically. +loaded dynamically. Depending on how the libraries have been build it might +be impossible to use ":py3" and ":python" in one Vim session. On Linux/Unix systems this can only be done without importing global symbols. In this case python's "import" might fail, if the library expects the symbols diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 6d2036e454..dd85914847 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,15 +30,14 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Have a close look at :find completion, anything that could be wrong? - Patch for :python + :py3. (James Vega, Roland Puntaier, 2010 Aug 12) Patch for crash with cmdline editing functions. (Dominique Pelle, 2010 Aug 12) -Test 73 fails on MS-Windows when compiled with DJGPP. -:find completion with 'path' set to "./**" results in full path for -"./subdir/file", should shorten to start with "./". +Have a close look at :find completion, anything that could be wrong? + +Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to +delete the Xfind directory? Before release 7.3: - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) diff --git a/src/Makefile b/src/Makefile index 4a66bfad5a..9f8aa4ba24 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2255,6 +2255,7 @@ clean celan: testclean -rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o -rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c -rm -f conftest* *~ auto/link.sed + -rm -f runtime pixmaps -rm -rf $(APPDIR) -rm -rf mzscheme_base.c if test -d $(PODIR); then \ diff --git a/src/auto/configure b/src/auto/configure index 22ec98a822..d09ee92ddf 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -1424,8 +1424,8 @@ Optional Features: --enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic --enable-mzschemeinterp Include MzScheme interpreter. --enable-perlinterp=OPTS Include Perl interpreter. default=no OPTS=no/yes/dynamic - --enable-pythoninterp Include Python interpreter. - --enable-python3interp Include Python3 interpreter. + --enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic + --enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic --enable-tclinterp Include Tcl interpreter. --enable-rubyinterp Include Ruby interpreter. --enable-cscope Include cscope interface. @@ -5118,7 +5118,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pythoninterp" >&5 $as_echo "$enable_pythoninterp" >&6; } -if test "$enable_pythoninterp" = "yes"; then +if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then # Extract the first word of "python", so it can be a program name with args. set dummy python; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5409,7 +5409,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_python3interp" >&5 $as_echo "$enable_python3interp" >&6; } -if test "$enable_python3interp" = "yes"; then +if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then # Extract the first word of "python3", so it can be a program name with args. set dummy python3; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5614,8 +5614,8 @@ rm -f core conftest.err conftest.$ac_objext \ $as_echo "no" >&6; } fi - { $as_echo "$as_me:${as_lineno-$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; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python 3 are sane" >&5 +$as_echo_n "checking if compile and link flags for Python 3 are sane... " >&6; } cflags_save=$CFLAGS libs_save=$LIBS CFLAGS="$CFLAGS $PYTHON3_CFLAGS" @@ -5667,10 +5667,85 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5 +$as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; } + cflags_save=$CFLAGS + CFLAGS="$CFLAGS $PYTHON3_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + /* If this program fails, then RTLD_GLOBAL is needed. + * RTLD_GLOBAL will be used and then it is not possible to + * have both python versions enabled in the same vim instance. + * Only the first pyhton version used will be switched on. + */ + + int no_rtl_global_needed_for(char *python_instsoname) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); + dlclose(pylib); + } + return !needed; + } + + int main(int argc, char** argv) + { + int not_needed = 0; + if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) + not_needed = 1; + return !not_needed; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; };$as_echo "#define PY_NO_RTLD_GLOBAL 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + CFLAGS=$cflags_save + LDFLAGS=$ldflags_save PYTHON_SRC="if_python.c" PYTHON_OBJ="objects/if_python.o" PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" PYTHON_LIBS= + PYTHON3_SRC="if_python3.c" + PYTHON3_OBJ="objects/if_python3.o" + PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" + PYTHON3_LIBS= +elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then + $as_echo "#define DYNAMIC_PYTHON 1" >>confdefs.h + + PYTHON_SRC="if_python.c" + PYTHON_OBJ="objects/if_python.o" + PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" + PYTHON_LIBS= +elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then + $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h + PYTHON3_SRC="if_python3.c" PYTHON3_OBJ="objects/if_python3.o" PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" diff --git a/src/config.h.in b/src/config.h.in index 2a28e0eb4e..f6c7fa4aa2 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -343,6 +343,9 @@ /* Define for linking via dlopen() or LoadLibrary() */ #undef DYNAMIC_PYTHON3 +/* Define if dynamic python does not require RTLD_GLOBAL */ +#undef PY_NO_RTLD_GLOBAL + /* Define if you want to include the Ruby interpreter. */ #undef FEAT_RUBY diff --git a/src/configure.in b/src/configure.in index 38fdea5909..152313b7ab 100644 --- a/src/configure.in +++ b/src/configure.in @@ -757,10 +757,10 @@ AC_SUBST(PERL_LIBS) AC_MSG_CHECKING(--enable-pythoninterp argument) AC_ARG_ENABLE(pythoninterp, - [ --enable-pythoninterp Include Python interpreter.], , + [ --enable-pythoninterp[=OPTS] Include Python interpreter. [default=no] [OPTS=no/yes/dynamic]], , [enable_pythoninterp="no"]) AC_MSG_RESULT($enable_pythoninterp) -if test "$enable_pythoninterp" = "yes"; then +if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then dnl -- find the python executable AC_PATH_PROG(vi_cv_path_python, python) if test "X$vi_cv_path_python" != "X"; then @@ -944,10 +944,10 @@ AC_SUBST(PYTHON_OBJ) AC_MSG_CHECKING(--enable-python3interp argument) AC_ARG_ENABLE(python3interp, - [ --enable-python3interp Include Python3 interpreter.], , + [ --enable-python3interp[=OPTS] Include Python3 interpreter. [default=no] [OPTS=no/yes/dynamic]], , [enable_python3interp="no"]) AC_MSG_RESULT($enable_python3interp) -if test "$enable_python3interp" = "yes"; then +if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then dnl -- find the python3 executable AC_PATH_PROG(vi_cv_path_python3, python3) if test "X$vi_cv_path_python3" != "X"; then @@ -1075,7 +1075,7 @@ eof dnl check that compiling a simple program still works with the flags dnl added for Python. - AC_MSG_CHECKING([if compile and link flags for Python are sane]) + AC_MSG_CHECKING([if compile and link flags for Python 3 are sane]) cflags_save=$CFLAGS libs_save=$LIBS CFLAGS="$CFLAGS $PYTHON3_CFLAGS" @@ -1109,6 +1109,46 @@ dnl with dlopen(), dlsym(), dlclose() if test "$python_ok" = yes && test "$python3_ok" = yes; then AC_DEFINE(DYNAMIC_PYTHON) AC_DEFINE(DYNAMIC_PYTHON3) + AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL) + cflags_save=$CFLAGS + CFLAGS="$CFLAGS $PYTHON3_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + AC_RUN_IFELSE([ + #include + /* If this program fails, then RTLD_GLOBAL is needed. + * RTLD_GLOBAL will be used and then it is not possible to + * have both python versions enabled in the same vim instance. + * Only the first pyhton version used will be switched on. + */ + + int no_rtl_global_needed_for(char *python_instsoname) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); + dlclose(pylib); + } + return !needed; + } + + int main(int argc, char** argv) + { + int not_needed = 0; + if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) + not_needed = 1; + return !not_needed; + }], + [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) + CFLAGS=$cflags_save + LDFLAGS=$ldflags_save PYTHON_SRC="if_python.c" PYTHON_OBJ="objects/if_python.o" PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" @@ -1117,6 +1157,18 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then PYTHON3_OBJ="objects/if_python3.o" PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" PYTHON3_LIBS= +elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then + AC_DEFINE(DYNAMIC_PYTHON) + PYTHON_SRC="if_python.c" + PYTHON_OBJ="objects/if_python.o" + PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" + PYTHON_LIBS= +elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then + AC_DEFINE(DYNAMIC_PYTHON3) + PYTHON3_SRC="if_python3.c" + PYTHON3_OBJ="objects/if_python3.o" + PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" + PYTHON3_LIBS= fi AC_MSG_CHECKING(--enable-tclinterp argument) diff --git a/src/if_python.c b/src/if_python.c index 8a28f8bd4e..7b1d6e7b08 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -102,9 +102,7 @@ struct PyMethodDef { Py_ssize_t a; }; # include # define FARPROC void* # define HINSTANCE void* -# ifdef FEAT_PYTHON3 - /* Don't use RTLD_GLOBAL, it may cause a crash if both :python and :py3 are - * used. But without it importing may fail, e.g., for termios. */ +# ifdef PY_NO_RTLD_GLOBAL # define load_dll(n) dlopen((n), RTLD_LAZY) # else # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) @@ -351,16 +349,15 @@ python_runtime_link_init(char *libname, int verbose) { int i; -#if 0 /* this should be OK now that we don't use RTLD_GLOBAL */ -#if defined(UNIX) && defined(FEAT_PYTHON3) - /* Can't have Python and Python3 loaded at the same time, it may cause a - * crash. */ +#if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON3) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ if (python3_loaded()) { - EMSG(_("E999: Python: Cannot use :py and :py3 in one session")); + EMSG(_("E836: This Vim cannot execute :python after using :py3")); return FAIL; } -#endif #endif if (hinstPython) diff --git a/src/if_python3.c b/src/if_python3.c index 3b8948828f..4aa7edfd53 100644 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -80,9 +80,7 @@ static void init_structs(void); # include # define FARPROC void* # define HINSTANCE void* -# ifdef FEAT_PYTHON - /* Don't use RTLD_GLOBAL, it may cause a crash if both :python and :py3 are - * used. But without it importing may fail, e.g., for termios. */ +# ifdef PY_NO_RTLD_GLOBAL # define load_dll(n) dlopen((n), RTLD_LAZY) # else # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) @@ -338,16 +336,15 @@ py3_runtime_link_init(char *libname, int verbose) int i; void *ucs_from_string, *ucs_from_string_and_size; -# if 0 /* this should be OK now that we don't use RTLD_GLOBAL */ -# if defined(UNIX) && defined(FEAT_PYTHON) - /* Can't have Python and Python3 loaded at the same time, it may cause a - * crash. */ +# if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ if (python_loaded()) { - EMSG(_("E999: Python: Cannot use :py and :py3 in one session")); + EMSG(_("E837: This Vim cannot execute :py3 after using :python")); return FAIL; } -# endif # endif if (hinstPy3 != 0) From 27f47b64651e8019d178d8d7910e92a2dd005321 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 16:24:30 +0200 Subject: [PATCH 30/35] Update message for :python/:py3 usage with approximate translations. --HG-- branch : vim73 --- runtime/doc/todo.txt | 2 -- src/po/eo.po | 7 +++++-- src/po/fi.po | 7 +++++-- src/po/fr.po | 7 +++++-- src/po/it.po | 7 +++++-- src/po/pl.UTF-8.po | 7 +++++-- src/po/pl.cp1250.po | 7 +++++-- src/po/pl.po | 7 +++++-- src/po/sk.cp1250.po | 4 ++-- src/po/sk.po | 4 ++-- src/po/uk.cp1251.po | 7 +++++-- src/po/uk.po | 7 +++++-- 12 files changed, 49 insertions(+), 24 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index dd85914847..56faa68493 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Patch for :python + :py3. (James Vega, Roland Puntaier, 2010 Aug 12) - Patch for crash with cmdline editing functions. (Dominique Pelle, 2010 Aug 12) Have a close look at :find completion, anything that could be wrong? diff --git a/src/po/eo.po b/src/po/eo.po index e1dff7f4dd..0da75bda81 100644 --- a/src/po/eo.po +++ b/src/po/eo.po @@ -2608,8 +2608,11 @@ msgstr "numero de linio ekster limoj" msgid "not allowed in the Vim sandbox" msgstr "nepermesita en sabloludejo de Vim" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Pitono: Ne eblas uzi :py kaj :py3 en la sama seanco" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Pitono: Ne eblas uzi :py kaj :py3 en la sama seanco" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Pitono: Ne eblas uzi :py kaj :py3 en la sama seanco" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/fi.po b/src/po/fi.po index 62ecf5d79d..6a2a69a60a 100644 --- a/src/po/fi.po +++ b/src/po/fi.po @@ -2603,8 +2603,11 @@ msgstr "rivinumero arvoalueen ulkopuolelta" msgid "not allowed in the Vim sandbox" msgstr "ei sallittu Vimin hiekkalaatikossa" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: Ei voi kytt komentoja :py ja :py3 samassa istunnossa" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: Ei voi kytt komentoja :py ja :py3 samassa istunnossa" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: Ei voi kytt komentoja :py ja :py3 samassa istunnossa" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/fr.po b/src/po/fr.po index b5b9f24eac..9d5035a6c8 100644 --- a/src/po/fr.po +++ b/src/po/fr.po @@ -2827,8 +2827,11 @@ msgstr "num msgid "not allowed in the Vim sandbox" msgstr "non autoris dans le bac sable" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python : impossible d'utiliser :py et :py3 dans la mme session" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python : impossible d'utiliser :py et :py3 dans la mme session" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python : impossible d'utiliser :py et :py3 dans la mme session" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/it.po b/src/po/it.po index 4026f99571..baf7231d10 100644 --- a/src/po/it.po +++ b/src/po/it.po @@ -2604,8 +2604,11 @@ msgstr "numero linea non nell'intervallo" msgid "not allowed in the Vim sandbox" msgstr "non ammesso in ambiente protetto" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: Impossibile usare :py e :py3 nella stessa sessione" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: Impossibile usare :py e :py3 nella stessa sessione" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: Impossibile usare :py e :py3 nella stessa sessione" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/pl.UTF-8.po b/src/po/pl.UTF-8.po index 0d56e994de..facbd14e35 100644 --- a/src/po/pl.UTF-8.po +++ b/src/po/pl.UTF-8.po @@ -2585,8 +2585,11 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: nie można używać :py i :py3 w czasie jednej sesji" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: nie można używać :py i :py3 w czasie jednej sesji" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: nie można używać :py i :py3 w czasie jednej sesji" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/pl.cp1250.po b/src/po/pl.cp1250.po index 77bf351c79..b5f649a661 100644 --- a/src/po/pl.cp1250.po +++ b/src/po/pl.cp1250.po @@ -2585,8 +2585,11 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: nie mona uywa :py i :py3 w czasie jednej sesji" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: nie mona uywa :py i :py3 w czasie jednej sesji" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: nie mona uywa :py i :py3 w czasie jednej sesji" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/pl.po b/src/po/pl.po index 64717c557f..30ed4dc725 100644 --- a/src/po/pl.po +++ b/src/po/pl.po @@ -2585,8 +2585,11 @@ msgstr "numer wiersza poza zakresem" msgid "not allowed in the Vim sandbox" msgstr "Niedozwolone w piaskownicy Vima" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: nie mona uywa :py i :py3 w czasie jednej sesji" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: nie mona uywa :py i :py3 w czasie jednej sesji" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: nie mona uywa :py i :py3 w czasie jednej sesji" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/sk.cp1250.po b/src/po/sk.cp1250.po index 201ef072b5..bc1efda86b 100644 --- a/src/po/sk.cp1250.po +++ b/src/po/sk.cp1250.po @@ -4791,8 +4791,8 @@ msgstr "E753: Nen #. This should have been checked when generating the .spl #. * file. -msgid "E999: duplicate char in MAP entry" -msgstr "E999: duplicitn znak v MAP poloke" +msgid "E783: duplicate char in MAP entry" +msgstr "E783: duplicitn znak v MAP poloke" #, c-format msgid "E390: Illegal argument: %s" diff --git a/src/po/sk.po b/src/po/sk.po index 52172f433e..b59b0144b9 100644 --- a/src/po/sk.po +++ b/src/po/sk.po @@ -4791,8 +4791,8 @@ msgstr "E753: Nen #. This should have been checked when generating the .spl #. * file. -msgid "E999: duplicate char in MAP entry" -msgstr "E999: duplicitn znak v MAP poloke" +msgid "E783: duplicate char in MAP entry" +msgstr "E783: duplicitn znak v MAP poloke" #, c-format msgid "E390: Illegal argument: %s" diff --git a/src/po/uk.cp1251.po b/src/po/uk.cp1251.po index 8ddfd269aa..8516458015 100644 --- a/src/po/uk.cp1251.po +++ b/src/po/uk.cp1251.po @@ -2649,8 +2649,11 @@ msgstr " msgid "not allowed in the Vim sandbox" msgstr " Vim" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: :py :py3 " +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: :py :py3 " + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: :py :py3 " msgid "" "E263: Sorry, this command is disabled, the Python library could not be " diff --git a/src/po/uk.po b/src/po/uk.po index 78805065a4..fb624e7405 100644 --- a/src/po/uk.po +++ b/src/po/uk.po @@ -2649,8 +2649,11 @@ msgstr "номер рядка за межами файлу" msgid "not allowed in the Vim sandbox" msgstr "не дозволено у пісочниці Vim" -msgid "E999: Python: Cannot use :py and :py3 in one session" -msgstr "E999: Python: Не можна використати :py і :py3 в одному сеансі" +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Python: Не можна використати :py і :py3 в одному сеансі" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Python: Не можна використати :py і :py3 в одному сеансі" msgid "" "E263: Sorry, this command is disabled, the Python library could not be " From 301f8317b89f9b4f377bf17f5686bcf8ad1311b2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 16:51:26 +0200 Subject: [PATCH 31/35] Fix illegal memory access when using expressions in the command line. --HG-- branch : vim73 --- runtime/doc/todo.txt | 2 -- src/ex_getln.c | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 56faa68493..dbb5be7309 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Patch for crash with cmdline editing functions. (Dominique Pelle, 2010 Aug 12) - Have a close look at :find completion, anything that could be wrong? Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to diff --git a/src/ex_getln.c b/src/ex_getln.c index d2925535e4..1cf6785437 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -2527,7 +2527,10 @@ realloc_cmdbuff(len) ccline.cmdbuff = p; /* keep the old one */ return FAIL; } - mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1); + /* There isn't always a NUL after the command, but it may need to be + * there, thus copy up to the NUL and add a NUL. */ + mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen); + ccline.cmdbuff[ccline.cmdlen] = NUL; vim_free(p); if (ccline.xpc != NULL From 6c5480136ad443c00dc850c9142daaf9bef9d6d4 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 19:12:07 +0200 Subject: [PATCH 32/35] Now really fix using expressions in the command line (hopefully). --HG-- branch : vim73 --- src/ex_getln.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ex_getln.c b/src/ex_getln.c index 1cf6785437..821a79c2ca 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -662,7 +662,8 @@ getcmdline(firstc, count, indent) #ifdef FEAT_EVAL else if (c == 'e') { - char_u *p = NULL; + char_u *p = NULL; + int len; /* * Replace the command line with the result of an expression. @@ -687,10 +688,11 @@ getcmdline(firstc, count, indent) p = get_expr_line(); --textlock; restore_cmdline(&save_ccline); + len = (int)STRLEN(p); - if (p != NULL && realloc_cmdbuff((int)STRLEN(p) + 1) == OK) + if (p != NULL && realloc_cmdbuff(len + 1) == OK) { - ccline.cmdlen = (int)STRLEN(p); + ccline.cmdlen = len; STRCPY(ccline.cmdbuff, p); vim_free(p); @@ -2520,6 +2522,9 @@ realloc_cmdbuff(len) { char_u *p; + if (len < ccline.cmdbufflen) + return OK; /* no need to resize */ + p = ccline.cmdbuff; alloc_cmdbuff(len); /* will get some more */ if (ccline.cmdbuff == NULL) /* out of memory */ @@ -2744,7 +2749,7 @@ put_on_cmdline(str, len, redraw) /* Check if ccline.cmdbuff needs to be longer */ if (ccline.cmdlen + len + 1 >= ccline.cmdbufflen) - retval = realloc_cmdbuff(ccline.cmdlen + len); + retval = realloc_cmdbuff(ccline.cmdlen + len + 1); else retval = OK; if (retval == OK) @@ -3335,9 +3340,9 @@ nextwild(xp, type, options) if (p2 != NULL && !got_int) { difflen = (int)STRLEN(p2) - xp->xp_pattern_len; - if (ccline.cmdlen + difflen > ccline.cmdbufflen - 4) + if (ccline.cmdlen + difflen + 4 > ccline.cmdbufflen) { - v = realloc_cmdbuff(ccline.cmdlen + difflen); + v = realloc_cmdbuff(ccline.cmdlen + difflen + 4); xp->xp_pattern = ccline.cmdbuff + i; } else From 678252dec5149a761c14d562fd06dac930f606cb Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 19:13:18 +0200 Subject: [PATCH 33/35] Use mkdir() instead of !mkdir in test 73, it's more reliable. --HG-- branch : vim73 --- src/testdir/Make_dos.mak | 3 +-- src/testdir/test73.in | 16 ++++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak index bb9de46fb6..900a637544 100644 --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -59,8 +59,6 @@ clean: -if exist mbyte.vim del mbyte.vim -if exist mzscheme.vim del mzscheme.vim -del X* - -del X*.* - -if exists Xfind rmdir /S /Q Xfind -if exist viminfo del viminfo .in.out: @@ -72,4 +70,5 @@ clean: -del X* -del X*.* -del test.ok + -rmdir /s /q Xfind -if exist viminfo del viminfo diff --git a/src/testdir/test73.in b/src/testdir/test73.in index 712e1236b6..3518e8087f 100644 --- a/src/testdir/test73.in +++ b/src/testdir/test73.in @@ -22,7 +22,7 @@ STARTTEST :new :let cwd=getcwd() :let test_out = cwd . '/test.out' -:silent !mkdir Xfind +:call mkdir('Xfind') :cd Xfind :set path= :find @@ -45,9 +45,9 @@ STARTTEST :close :new :" We shouldn't find any file at this point, test.out must be empty. -:silent !mkdir in +:call mkdir('in') :cd in -:silent !mkdir path +:call mkdir('path') :exec "cd " . cwd :e Xfind/file.txt SHoly Grail:w @@ -103,15 +103,15 @@ SE.T.:w :" :" x/bar/voyager.txt :" y/bar/voyager.txt -:silent !mkdir foo +:call mkdir('foo') :cd foo -:silent !mkdir x -:silent !mkdir y +:call mkdir('x') +:call mkdir('y') :cd x -:silent !mkdir bar +:call mkdir('bar') :cd .. :cd y -:silent !mkdir bar +:call mkdir('bar') :cd .. :cd .. :" We should now be in the Xfind directory From fad6d0e53a923843602b8718e7a4e0c706e16d78 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 21:16:49 +0200 Subject: [PATCH 34/35] Cleanup in :find completion code. Make it work for "./subdir" in 'path'. --HG-- branch : vim73 --- runtime/doc/todo.txt | 9 ++- src/ex_getln.c | 4 +- src/misc1.c | 137 ++++++++++++++++++------------------------- 3 files changed, 63 insertions(+), 87 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index dbb5be7309..3c773d528a 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,11 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Have a close look at :find completion, anything that could be wrong? - -Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to -delete the Xfind directory? - Before release 7.3: - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) @@ -59,6 +54,10 @@ Results in E670. (Tony Mechelynck, 2010 May 2) setpos() does not resture cursor position after :normal. (Tyru, 2010 Aug 11) +Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to +delete the Xfind directory? Add an rmdir() function, just like we have +mkdir(). + 'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15) ":helpgrep" does not put the cursor in the correct column when preceded by diff --git a/src/ex_getln.c b/src/ex_getln.c index 821a79c2ca..79a10466ed 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4999,9 +4999,7 @@ ExpandRTDir(pat, num_file, file, dirnames) vim_free(all); /* Sort and remove duplicates which can happen when specifying multiple - * directories in dirnames such as "{syntax,ftplugin,indent}". - */ - sort_strings((char_u **)ga.ga_data, ga.ga_len); + * directories in dirnames such as "{syntax,ftplugin,indent}". */ remove_duplicates(&ga); *file = ga.ga_data; diff --git a/src/misc1.c b/src/misc1.c index ead5c08f7d..996ec7450a 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -9267,9 +9267,8 @@ static void uniquefy_paths __ARGS((garray_T *gap, char_u *pattern)); static int expand_in_path __ARGS((garray_T *gap, char_u *pattern, int flags)); /* - * Moves psep to the previous path separator in path, starting from the - * end of path. - * Returns FAIL is psep ends up at the beginning of path. + * Moves "*psep" back to the previous path separator in "path". + * Returns FAIL is "*psep" ends up at the beginning of "path". */ static int find_previous_pathsep(path, psep) @@ -9278,21 +9277,22 @@ find_previous_pathsep(path, psep) { /* skip the current separator */ if (*psep > path && vim_ispathsep(**psep)) - (*psep)--; + --*psep; /* find the previous separator */ - while (*psep > path && !vim_ispathsep(**psep)) - (*psep)--; - - if (*psep != path && vim_ispathsep(**psep)) - return OK; + while (*psep > path) + { + if (vim_ispathsep(**psep)) + return OK; + mb_ptr_back(path, *psep); + } return FAIL; } /* - * Returns TRUE if "maybe_unique" is unique wrt other_paths in gap. - * "maybe_unique" is the end portion of ((char_u **)gap->ga_data)[i]. + * Returns TRUE if "maybe_unique" is unique wrt other_paths in "gap". + * "maybe_unique" is the end portion of "((char_u **)gap->ga_data)[i]". */ static int is_unique(maybe_unique, gap, i) @@ -9306,16 +9306,15 @@ is_unique(maybe_unique, gap, i) char_u **other_paths = (char_u **)gap->ga_data; char_u *rival; - for (j = 0; j < gap->ga_len && !got_int; j++) + for (j = 0; j < gap->ga_len; j++) { - ui_breakcheck(); if (j == i) continue; /* don't compare it with itself */ candidate_len = (int)STRLEN(maybe_unique); other_path_len = (int)STRLEN(other_paths[j]); if (other_path_len < candidate_len) - continue; /* it's different */ + continue; /* it's different when it's shorter */ rival = other_paths[j] + other_path_len - candidate_len; if (fnamecmp(maybe_unique, rival) == 0) @@ -9343,6 +9342,7 @@ expand_path_option(curdir, gap) ? p_path : curbuf->b_p_path; char_u *buf; char_u *p; + int len; if ((buf = alloc((int)MAXPATHL)) == NULL) return; @@ -9351,33 +9351,39 @@ expand_path_option(curdir, gap) { copy_option_part(&path_option, buf, MAXPATHL, " ,"); - if (STRCMP(buf, ".") == 0) /* relative to current buffer */ + if (buf[0] == '.' && (buf[1] == NUL || vim_ispathsep(buf[1]))) { + /* Relative to current buffer: + * "/path/file" + "." -> "/path/" + * "/path/file" + "./subdir" -> "/path/subdir" */ if (curbuf->b_ffname == NULL) continue; - STRCPY(buf, curbuf->b_ffname); - *gettail(buf) = NUL; + p = gettail(curbuf->b_ffname); + len = (int)(p - curbuf->b_ffname); + if (len + (int)STRLEN(buf) >= MAXPATHL) + continue; + if (buf[1] == NUL) + buf[len] = NUL; + else + STRMOVE(buf + len, buf + 2); + mch_memmove(buf, curbuf->b_ffname, len); + simplify_filename(buf); } - else if (buf[0] == NUL) /* relative to current directory */ + else if (buf[0] == NUL) + /* relative to current directory */ STRCPY(buf, curdir); else if (path_with_url(buf)) + /* URL can't be used here */ continue; else if (!mch_isFullName(buf)) { /* Expand relative path to their full path equivalent */ - int curdir_len = (int)STRLEN(curdir); - int buf_len = (int)STRLEN(buf); - - if (curdir_len + buf_len + 3 > MAXPATHL) + len = (int)STRLEN(curdir); + if (len + (int)STRLEN(buf) + 3 > MAXPATHL) continue; - STRMOVE(buf + curdir_len + 1, buf); + STRMOVE(buf + len + 1, buf); STRCPY(buf, curdir); - buf[curdir_len] = PATHSEP; - /* - * 'path' may have "./baz" as one of the items. - * If curdir is "/foo/bar", p will end up being "/foo/bar/./baz". - * Simplify it. - */ + buf[len] = PATHSEP; simplify_filename(buf); } @@ -9393,8 +9399,8 @@ expand_path_option(curdir, gap) } /* - * Returns a pointer to the file or directory name in fname that matches the - * longest path in gap, or NULL if there is no match. For example: + * Returns a pointer to the file or directory name in "fname" that matches the + * longest path in "ga"p, or NULL if there is no match. For example: * * path: /foo/bar/baz * fname: /foo/bar/baz/quux.txt @@ -9427,7 +9433,7 @@ get_path_cutoff(fname, gap) } } - /* Skip to the file or directory name */ + /* skip to the file or directory name */ if (cutoff != NULL) while (vim_ispathsep(*cutoff)) mb_ptr_adv(cutoff); @@ -9436,9 +9442,9 @@ get_path_cutoff(fname, gap) } /* - * Sorts, removes duplicates and modifies all the fullpath names in gap so that - * they are unique with respect to each other while conserving the part that - * matches the pattern. Beware, this is at least O(n^2) wrt gap->ga_len. + * Sorts, removes duplicates and modifies all the fullpath names in "gap" so + * that they are unique with respect to each other while conserving the part + * that matches the pattern. Beware, this is at least O(n^2) wrt "gap->ga_len". */ static void uniquefy_paths(gap, pattern) @@ -9451,17 +9457,13 @@ uniquefy_paths(gap, pattern) int sort_again = FALSE; char_u *pat; char_u *file_pattern; - char_u *curdir = NULL; + char_u *curdir; regmatch_T regmatch; garray_T path_ga; char_u **in_curdir = NULL; char_u *short_name; - sort_strings(fnames, gap->ga_len); remove_duplicates(gap); - if (gap->ga_len == 0) - return; - ga_init2(&path_ga, (int)sizeof(char_u *), 1); /* @@ -9490,13 +9492,13 @@ uniquefy_paths(gap, pattern) if ((curdir = alloc((int)(MAXPATHL))) == NULL) goto theend; mch_dirname(curdir, MAXPATHL); - expand_path_option(curdir, &path_ga); - in_curdir = (char_u **)alloc(gap->ga_len * sizeof(char_u *)); + + in_curdir = (char_u **)alloc_clear(gap->ga_len * sizeof(char_u *)); if (in_curdir == NULL) goto theend; - for (i = 0; i < gap->ga_len; i++) + for (i = 0; i < gap->ga_len && !got_int; i++) { char_u *path = fnames[i]; int is_in_curdir; @@ -9507,11 +9509,8 @@ uniquefy_paths(gap, pattern) len = (int)STRLEN(path); is_in_curdir = fnamencmp(curdir, path, dir_end - path) == 0 && curdir[dir_end - path] == NUL; - if (is_in_curdir) in_curdir[i] = vim_strsave(path); - else - in_curdir[i] = NULL; /* Shorten the filename while maintaining its uniqueness */ path_cutoff = get_path_cutoff(path, &path_ga); @@ -9546,14 +9545,10 @@ uniquefy_paths(gap, pattern) short_name = shorten_fname(path, curdir); if (short_name != NULL && short_name > path + 1 #if defined(MSWIN) || defined(MSDOS) - /* - * On windows, - * + /* On windows, * shorten_fname("c:\a\a.txt", "c:\a\b") - * * returns "\a\a.txt", which is not really the short - * name, hence: - */ + * name, hence: */ && !vim_ispathsep(*short_name) #endif ) @@ -9563,22 +9558,20 @@ uniquefy_paths(gap, pattern) STRCAT(path, short_name); } } + ui_breakcheck(); } /* Shorten filenames in /in/current/directory/{filename} */ - for (i = 0; i < gap->ga_len; i++) + for (i = 0; i < gap->ga_len && !got_int; i++) { char_u *rel_path; char_u *path = in_curdir[i]; if (path == NULL) continue; - /* - * If the {filename} is not unique, - * reduce it to ./{filename} - * FIXME ^ Is this portable? - * else reduce it to {filename} - */ + + /* If the {filename} is not unique, change it to ./{filename}. + * Else reduce it to {filename} */ short_name = shorten_fname(path, curdir); if (short_name == NULL) short_name = path; @@ -9591,26 +9584,14 @@ uniquefy_paths(gap, pattern) rel_path = alloc((int)(STRLEN(short_name) + STRLEN(PATHSEPSTR) + 2)); if (rel_path == NULL) goto theend; - - /* FIXME Is "." a portable way of denoting the current directory? */ STRCPY(rel_path, "."); add_pathsep(rel_path); STRCAT(rel_path, short_name); - if (len < (int)STRLEN(rel_path)) - { - vim_free(fnames[i]); - fnames[i] = alloc((int)(STRLEN(rel_path) + 1)); - if (fnames[i] == NULL) - { - vim_free(rel_path); - goto theend; - } - } - - STRCPY(fnames[i], rel_path); - vim_free(rel_path); + vim_free(fnames[i]); + fnames[i] = rel_path; sort_again = TRUE; + ui_breakcheck(); } theend: @@ -9625,10 +9606,7 @@ theend: vim_free(regmatch.regprog); if (sort_again) - { - sort_strings(fnames, gap->ga_len); remove_duplicates(gap); - } } /* @@ -9697,8 +9675,8 @@ expand_in_path(gap, pattern, flags) #if defined(FEAT_SEARCHPATH) || defined(FEAT_CMDL_COMPL) || defined(PROTO) /* - * Remove adjacent duplicate entries from "gap", which is a list of file names - * in allocated memory. + * Sort "gap" and remove duplicate entries. "gap" is expected to contain a + * list of file names in allocated memory. */ void remove_duplicates(gap) @@ -9708,6 +9686,7 @@ remove_duplicates(gap) int j; char_u **fnames = (char_u **)gap->ga_data; + sort_strings(fnames, gap->ga_len); for (i = gap->ga_len - 1; i > 0; --i) if (fnamecmp(fnames[i - 1], fnames[i]) == 0) { From f01ae85b3090c4c7b2f5b5213a528e54037b8fa5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 13 Aug 2010 22:05:54 +0200 Subject: [PATCH 35/35] Preparations for 7.3f release. --HG-- branch : vim73 --- Makefile | 5 +++-- runtime/doc/if_pyth.txt | 48 ++++++++++++++++++++++++++-------------- runtime/doc/tags | 3 +++ runtime/doc/version7.txt | 8 ++++++- src/version.h | 4 ++-- 5 files changed, 47 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 4190e7d401..98ec5dfebb 100644 --- a/Makefile +++ b/Makefile @@ -83,10 +83,11 @@ 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, # src/gvim.exe.mnf. +# - Adjust the date and other info in src/version.h. # - Correct included_patches[] in src/version.c. # - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if -# you can make it work), Cscope and "huge" features. Exclude workshop and -# SNiFF. +# you can make it all 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). diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index edac295404..a4a6e9d3af 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -335,32 +335,48 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for sure edit "gvim.exe" and search for "python\d*.dll\c". ============================================================================== -7. Python 3 *python3* +7. Python 3 *python3* - *:py3* *:python3* + *:py3* *:python3* The |:py3| and |:python3| commands work similar to |:python|. - *:py3file* + *:py3file* The |:py3file| command works similar to |:pyfile|. Vim can be built in four ways (:version output): -1. No Python support (-python, -python3) +1. No Python support (-python, -python3) 2. Python 2 support only (+python or +python/dyn, -python3) 3. Python 3 support only (-python, +python3 or +python3/dyn) 4. Python 2 and 3 support (+python/dyn, +python3/dyn) - *E836* *E837* -You can see that when Python 2 and Python 3 are both supported they must be -loaded dynamically. Depending on how the libraries have been build it might -be impossible to use ":py3" and ":python" in one Vim session. +Some more details on the special case 4: + +When Python 2 and Python 3 are both supported they must be loaded dynamically. + +When doing this on Linux/Unix systems and importing global symbols, this leads +to a crash when the second Python version is used. So either global symbols +are loaded but only one Python version is activated, or no global symbols are +loaded. The latter makes Python's "import" fail on libaries that expect the +symbols to be provided by Vim. + *E836* *E837* +Vim's configuration script makes a guess for all libraries based on one +standard Python library (termios). If importing this library succeeds for +both Python versions, then both will be made available in Vim at the same +time. If not, only the version first used in a session will be enabled. +When trying to use the other one you will get the E836 or E837 error message. + +Here Vim's behavior depends on the system in which it was configured. In a +system where both versions of Python were configured with --enable-shared, +both versions of Python will be activated at the same time. There will still +be problems with other third party libraries that were not linked to +libPython. + +To work around such problems there are these options: +1. The problematic library is recompiled to link to the according + libpython.so. +2. Vim is recompiled for only one Python version. +3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This + may crash Vim though. -On Linux/Unix systems this can only be done without importing global symbols. -In this case python's "import" might fail, if the library expects the symbols -to be provided by vim. To work around this -1. either the problematic library, or python in case of standard libraries, - must be recompiled to link to the according libpython.so file - (--enable-shared in case of python). -2. Or you recompile vim for only one python version. In this case all symbols - can be imported into vim. ============================================================================== vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/tags b/runtime/doc/tags index 92e296fabb..3ebcf41fd2 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4217,6 +4217,8 @@ E832 undo.txt /*E832* E833 editing.txt /*E833* E834 options.txt /*E834* E835 options.txt /*E835* +E836 if_pyth.txt /*E836* +E837 if_pyth.txt /*E837* E84 windows.txt /*E84* E85 options.txt /*E85* E86 windows.txt /*E86* @@ -5810,6 +5812,7 @@ g:tar_nomax pi_tar.txt /*g:tar_nomax* g:tar_readoptions pi_tar.txt /*g:tar_readoptions* g:tar_secure pi_tar.txt /*g:tar_secure* g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions* +g:tex_conceal syntax.txt /*g:tex_conceal* g:var eval.txt /*g:var* g:vimball_home pi_vimball.txt /*g:vimball_home* g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir* diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index c26f041821..f627ef670f 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.3f. Last change: 2010 Aug 08 +*version7.txt* For Vim version 7.3f. Last change: 2010 Aug 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -10126,5 +10126,11 @@ contains a character that would become double width. Set 'wrapscan' when checking the .po files. (Mike Williams) +Fixed: using expression in command line may cause a crash. + +Avoid warnings from the clang compiler. (Dominique Pelle) + +Fix: Include wchar.h in charset.c for towupper(). + vim:tw=78:ts=8:ft=help:norl: diff --git a/src/version.h b/src/version.h index 17454c1d7f..b0bf86064f 100644 --- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim73f" #define VIM_VERSION_SHORT "7.3f" #define VIM_VERSION_MEDIUM "7.3f BETA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3f BETA (2010 Aug 9)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3f BETA (2010 Aug 9, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.3f BETA (2010 Aug 13)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.3f BETA (2010 Aug 13, compiled "