# HG changeset patch # User vimboss # Date 1145908047 0 # Node ID a209672376fd537735f6ab55ce926cb80fa56ca0 # Parent c2cae213194d26214a9132c1ec7cddbdafd18175 updated for version 7.0f diff --git a/Contents b/Contents --- a/Contents +++ b/Contents @@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX t messages, shows current file name in window title, on-line help, rectangular cut/paste, etc., etc., etc... - Version 7.0e. Also runs under UNIX, MSDOS and other systems. - vim70ert.tgz contains the documentation and syntax files. - vim70ebin.tgz contains the binaries. - vim70esrc.tgz contains the sources. + Version 7.0f. Also runs under UNIX, MSDOS and other systems. + vim70frt.tgz contains the documentation and syntax files. + vim70fbin.tgz contains the binaries. + vim70fsrc.tgz contains the sources. Author: Bram Moolenaar et al. diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -69,7 +69,7 @@ all install uninstall tools config confi # Before creating an archive first delete all backup files, *.orig, etc. MAJOR = 7 -MINOR = 0e +MINOR = 0f # Uncomment this line if the Win32s version is to be included. DOSBIN_S = dosbin_s diff --git a/README.txt b/README.txt --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README.txt for version 7.0e of Vim: Vi IMproved. +README.txt for version 7.0f of Vim: Vi IMproved. WHAT IS VIM diff --git a/README_ami.txt b/README_ami.txt --- a/README_ami.txt +++ b/README_ami.txt @@ -1,4 +1,4 @@ -README_ami.txt for version 7.0e of Vim: Vi IMproved. +README_ami.txt for version 7.0f 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 --- a/README_amibin.txt +++ b/README_amibin.txt @@ -1,4 +1,4 @@ -README_amibin.txt for version 7.0e of Vim: Vi IMproved. +README_amibin.txt for version 7.0f 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 --- a/README_amisrc.txt +++ b/README_amisrc.txt @@ -1,4 +1,4 @@ -README_amisrc.txt for version 7.0e of Vim: Vi IMproved. +README_amisrc.txt for version 7.0f 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 --- a/README_bindos.txt +++ b/README_bindos.txt @@ -1,4 +1,4 @@ -README_bindos.txt for version 7.0e of Vim: Vi IMproved. +README_bindos.txt for version 7.0f 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 --- a/README_dos.txt +++ b/README_dos.txt @@ -1,4 +1,4 @@ -README_dos.txt for version 7.0e of Vim: Vi IMproved. +README_dos.txt for version 7.0f 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 --- a/README_extra.txt +++ b/README_extra.txt @@ -1,4 +1,4 @@ -README_extra.txt for version 7.0e of Vim: Vi IMproved. +README_extra.txt for version 7.0f of Vim: Vi IMproved. The extra archive of Vim is to be used in combination with the source archive (vim-6.0-src.tar.gz). The extra archive is useless without it. diff --git a/README_lang.txt b/README_lang.txt --- a/README_lang.txt +++ b/README_lang.txt @@ -1,4 +1,4 @@ -README_lang.txt for version 7.0e of Vim: Vi IMproved. +README_lang.txt for version 7.0f of Vim: Vi IMproved. This file contains files for non-English languages: - Translated messages. diff --git a/README_mac.txt b/README_mac.txt --- a/README_mac.txt +++ b/README_mac.txt @@ -1,4 +1,4 @@ -README_mac.txt for version 7.0e of Vim: Vi IMproved. +README_mac.txt for version 7.0f 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 --- a/README_ole.txt +++ b/README_ole.txt @@ -1,4 +1,4 @@ -README_ole.txt for version 7.0e of Vim: Vi IMproved. +README_ole.txt for version 7.0f 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 --- a/README_os2.txt +++ b/README_os2.txt @@ -1,4 +1,4 @@ -README_os2.txt for version 7.0e of Vim: Vi IMproved. +README_os2.txt for version 7.0f 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 --- a/README_os390.txt +++ b/README_os390.txt @@ -1,4 +1,4 @@ -README_os_390.txt for version 7.0e of Vim: Vi IMproved. +README_os_390.txt for version 7.0f of Vim: Vi IMproved. Welcome to the OS/390 Unix port of VIM. diff --git a/README_src.txt b/README_src.txt --- a/README_src.txt +++ b/README_src.txt @@ -1,4 +1,4 @@ -README_src.txt for version 7.0e of Vim: Vi IMproved. +README_src.txt for version 7.0f 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 --- a/README_srcdos.txt +++ b/README_srcdos.txt @@ -1,4 +1,4 @@ -README_srcdos.txt for version 7.0e of Vim: Vi IMproved. +README_srcdos.txt for version 7.0f 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 --- a/README_unix.txt +++ b/README_unix.txt @@ -1,4 +1,4 @@ -README_unix.txt for version 7.0e of Vim: Vi IMproved. +README_unix.txt for version 7.0f 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 --- a/README_vms.txt +++ b/README_vms.txt @@ -1,4 +1,4 @@ -README_vms.txt for version 7.0e of Vim: Vi IMproved. +README_vms.txt for version 7.0f 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 --- a/README_w32s.txt +++ b/README_w32s.txt @@ -1,4 +1,4 @@ -README_w32s.txt for version 7.0e of Vim: Vi IMproved. +README_w32s.txt for version 7.0f 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 --- a/nsis/gvim.nsi +++ b/nsis/gvim.nsi @@ -22,7 +22,7 @@ !define HAVE_NLS !define VER_MAJOR 7 -!define VER_MINOR 0e +!define VER_MINOR 0f # ----------- No configurable settings below this line ----------- diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim --- a/runtime/autoload/htmlcomplete.vim +++ b/runtime/autoload/htmlcomplete.vim @@ -1,7 +1,7 @@ " Vim completion script " Language: HTML and XHTML " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) -" Last Change: 2006 Apr 22 +" Last Change: 2006 Apr 24 function! htmlcomplete#CompleteTags(findstart, base) if a:findstart @@ -485,9 +485,9 @@ function! htmlcomplete#CompleteTags(find " alphabetically but sort them. Those beginning with entered " part will be as first choices if m =~ '^'.entered_value - call add(res, attrquoteopen . m . attrquote.' ') + call add(res, attrquoteopen . m . attrquote) elseif m =~ entered_value - call add(res2, attrquoteopen . m . attrquote.' ') + call add(res2, attrquoteopen . m . attrquote) endif endfor diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across a network " AUTOLOAD PORTION -" Date: Apr 21, 2006 -" Version: 92 +" Date: Apr 24, 2006 +" Version: 93 " Maintainer: Charles E Campbell, Jr " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 @@ -23,7 +23,7 @@ if &cp || exists("g:loaded_netrw") finish endif -let g:loaded_netrw = "v92" +let g:loaded_netrw = "v93" if v:version < 700 echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None finish @@ -3429,7 +3429,11 @@ fun! s:LocalFastBrowser() let s:netrw_browser_shellcmd= 1 augroup AuNetrwShellCmd au! - au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh() + if (has("win32") || has("win95") || has("win64") || has("win16")) + au ShellCmdPost * call s:LocalBrowseShellCmdRefresh() + else + au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh() + endif augroup END endif diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim --- a/runtime/autoload/vimball.vim +++ b/runtime/autoload/vimball.vim @@ -1,7 +1,7 @@ " vimball : construct a file containing both paths and files " Author: Charles E. Campbell, Jr. -" Date: Mar 31, 2006 -" Version: 6 +" Date: Apr 24, 2006 +" Version: 7 " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim " Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. " The VIM LICENSE applies to Vimball.vim, and Vimball.txt @@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball") finish endif let s:keepcpo = &cpo -let g:loaded_vimball = "v6" +let g:loaded_vimball = "v7" set cpo&vim " ===================================================================== @@ -125,12 +125,13 @@ fun! vimball#Vimball(really) endif " initialize + let fenkeep = &fen let regakeep = @a let eikeep = &ei let vekeep = &ve let makeep = getpos("'a") let curtabnr = tabpagenr() - set ei=all ve=all + set ei=all ve=all nofen " set up vimball tab tabnew @@ -166,10 +167,11 @@ fun! vimball#Vimball(really) else echomsg "would extract <".fname.">: ".fsize." lines" endif -" call Decho(linenr.": will extract file<".fname.">") -" call Decho((linenr+1).": fsize=".fsize) +" call Decho("using L#".linenr.": will extract file<".fname.">") +" call Decho("using L#".(linenr+1).": fsize=".fsize) " make directories if they don't exist yet +" call Decho("making directories if they don't exist yet") let fnamebuf= fname while fnamebuf =~ '/' let dirname = substitute(fnamebuf,'/.*$','','e') @@ -183,24 +185,19 @@ fun! vimball#Vimball(really) exe "cd ".home " grab specified qty of lines and place into "a" buffer - exe linenr - norm! jjma - exe (linenr + fsize + 1) - silent norm! "ay'a -" call Decho("yanked ".fsize." lines into register-a") - -" call Decho("didhelp<".didhelp."> fname<".fname.">") - if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$' - let didhelp= substitute(fname,'^\(.*\") - endif + " (skip over path/filename and qty-lines) + let linenr = linenr + 2 + let lastline = linenr + fsize - 1 +" call Decho("exe ".linenr.",".lastline."yank a") + exe linenr.",".lastline."yank a" " copy "a" buffer into tab " call Decho('copy "a buffer into tab#'.vbtabnr) exe "tabn ".vbtabnr silent! %d - silent norm! "aPGdd1G -" call Decho("rega<".@a.">") + put a + 1 + d " write tab to file if a:really @@ -208,11 +205,21 @@ fun! vimball#Vimball(really) exe "silent w! ".fname endif + " return to tab with vimball " call Decho("exe tabn ".curtabnr) exe "tabn ".curtabnr + + " set up help if its a doc/*.txt file +" call Decho("didhelp<".didhelp."> fname<".fname.">") + if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$' + let didhelp= substitute(fname,'^\(.*\") + endif + + " update for next file " let oldlinenr = linenr " Decho - let linenr = linenr + fsize + 2 -" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] + 2 = ".linenr) + let linenr = linenr + fsize +" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] = ".linenr) endwhile " set up help @@ -234,8 +241,9 @@ fun! vimball#Vimball(really) setlocal nomod bh=wipe exe "tabn ".curtabnr exe "tabc ".vbtabnr - let &ei= eikeep - let @a = regakeep + let &ei = eikeep + let @a = regakeep + let &fen = fenkeep if makeep[0] != 0 " restore mark a " call Decho("restore mark-a: makeep=".string(makeep)) diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt --- a/runtime/doc/arabic.txt +++ b/runtime/doc/arabic.txt @@ -1,4 +1,4 @@ -*arabic.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*arabic.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Nadim Shaikli diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.0e. Last change: 2006 Apr 07 +*autocmd.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -666,7 +666,8 @@ QuickFixCmdPre Before a quickfix comma command is not executed. *QuickFixCmdPost* QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix - command is run. + command is run, before jumping to the first + location. *RemoteReply* RemoteReply When a reply from a Vim that functions as server was received |server2client()|. diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1,4 +1,4 @@ -*change.txt* For Vim version 7.0e. Last change: 2006 Apr 11 +*change.txt* For Vim version 7.0f. Last change: 2006 Apr 11 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.0e. Last change: 2006 Mar 16 +*cmdline.txt* For Vim version 7.0f. Last change: 2006 Mar 16 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt --- a/runtime/doc/debug.txt +++ b/runtime/doc/debug.txt @@ -1,4 +1,4 @@ -*debug.txt* For Vim version 7.0e. Last change: 2005 Dec 17 +*debug.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -40,17 +40,64 @@ 4. Get a stack trace from gdb with this 2. Windows Bug Reporting *debug-win32* -If the Windows version of Vim crashes in a reproducible manner, -you can take some steps to provide a useful bug report. +If the Windows version of Vim crashes in a reproducible manner, you can take +some steps to provide a useful bug report. + -First, you must obtain the debugger symbols (PDB) file for your executable: -gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available -from the same place that you obtained the executable. Be sure to use -the PDB that matches the EXE. +GENERIC ~ + +You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb +for gvim.exe, or vim.pdb for vim.exe. It should be available from the same +place that you obtained the executable. Be sure to use the PDB that matches +the EXE (same date). If you built the executable yourself with the Microsoft Visual C++ compiler, then the PDB was built with the EXE. +Alternatively, if you have the source files, you can import Make_ivc.mak into +Visual Studio as a workspace. Then select a debug configuration, build and +you can do all kinds of debugging (set breakpoints, watch variables, etc.). + +If you have Visual Studio, use that instead of the VC Toolkit and WinDbg. + +For other compilers, you should always use the corresponding debugger: TD for +a Vim executable compiled with the Borland compiler; gdb (see above +|debug-gcc|) for the Cygwin and MinGW compilers. + + +Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~ + +First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't +have Visual Studio, follow the instructions in src/INSTALLpc.txt to obtain a +free copy of Visual C++ 2005 Express Edition.) + +On the Tools menu, click Attach to Process. Choose the Vim process. + +In Vim, reproduce the crash. A dialog will appear in Visual Studio, telling +you about the unhandled exception in the Vim process. Click Break to break +into the process. + +Visual Studio will pop up another dialog, telling you that no symbols are +loaded and that the source code cannot be displayed. Click OK. + +Several windows will open. Right-click in the Call Stack window. Choose Load +Symbols. The Find Symbols dialog will open, looking for (g)vim.pdb. Navigate +to the directory where you have the PDB file and click Open. + +At this point, you should have a full call stack with vim function names and +line numbers. Double-click one of the lines and the Find Source dialog will +appear. Navigate to the directory where the Vim source is (if you have it.) + +If you don't know how to debug this any further, follow the instructions +at ":help bug-reports". Paste the call stack into the bug report. + +If you have a non-free version of Visual Studio, you can save a minidump via +the Debug menu and send it with the bug report. A minidump is a small file +(<100KB), which contains information about the state of your process. + + +Debugging Vim with Debugging Tools ~ + You can download the Microsoft Visual C++ Toolkit from http://msdn.microsoft.com/visualc/vctoolkit2003/ This contains the command-line tools, but not the Visual Studio IDE. @@ -59,12 +106,6 @@ The Debugging Tools for Windows can be d http://www.microsoft.com/whdc/devtools/debugging/default.mspx This includes the WinDbg debugger. -If you have Visual Studio, use that instead of the VC Toolkit -and WinDbg. - -For other compilers, you should always use the corresponding debugger: TD for -a Vim executable compiled with the Borland compiler; gdb (see above -|debug-gcc|) for the Cygwin and MinGW compilers. ========================================================================= vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt --- a/runtime/doc/debugger.txt +++ b/runtime/doc/debugger.txt @@ -1,4 +1,4 @@ -*debugger.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*debugger.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt --- a/runtime/doc/develop.txt +++ b/runtime/doc/develop.txt @@ -1,4 +1,4 @@ -*develop.txt* For Vim version 7.0e. Last change: 2006 Mar 09 +*develop.txt* For Vim version 7.0f. Last change: 2006 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 7.0e. Last change: 2006 Apr 14 +*diff.txt* For Vim version 7.0f. Last change: 2006 Apr 14 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 7.0e. Last change: 2005 Sep 11 +*digraph.txt* For Vim version 7.0f. Last change: 2005 Sep 11 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1,4 +1,4 @@ -*editing.txt* For Vim version 7.0e. Last change: 2006 Apr 17 +*editing.txt* For Vim version 7.0f. Last change: 2006 Apr 17 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0e. Last change: 2006 Apr 23 +*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -149,7 +149,7 @@ Examples: > :let emptylist = [] An item can be any expression. Using a List for an item creates a -nested List: > +List of Lists: > :let nestlist = [[11, 12], [21, 22], [31, 32]] An extra comma after the last item is ignored. @@ -192,22 +192,20 @@ separated by a colon in square brackets: :let shortlist = mylist[2:-1] " get List [3, "four"] Omitting the first index is similar to zero. Omitting the last index is -similar to -1. The difference is that there is no error if the items are not -available. > +similar to -1. :let endlist = mylist[2:] " from item 2 to the end: [3, "four"] :let shortlist = mylist[2:2] " List with one item: [3] :let otherlist = mylist[:] " make a copy of the List -If the second index is equal to or greater than the length of the list there -is no error and the length minus one is used: > +If the first index is beyond the last item of the List or the second item is +before the first item, the result is an empty list. There is no error +message. + +If the second index is equal to or greater than the length of the list the +length minus one is used: > :let mylist = [0, 1, 2, 3] :echo mylist[2:8] " result: [2, 3] -The second index can be just before the first index. In that case the result -is an empty list. If the second index is lower, this results in an error. > - :echo mylist[2:1] " result: [] - :echo mylist[2:0] " error! - NOTE: mylist[s:e] means using the variable "s:e" as index. Watch out for using a single letter variable before the ":". Insert a space when needed: mylist[s : e]. @@ -1557,6 +1555,7 @@ exists( {expr}) Number TRUE if {expr} extend({expr1}, {expr2} [, {expr3}]) List/Dict insert items of {expr2} into {expr1} expand( {expr}) String expand special keywords in {expr} +feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer filereadable( {file}) Number TRUE if {file} is a readable file filewritable( {file}) Number TRUE if {file} is a writable file filter( {expr}, {string}) List/Dict remove items from {expr} where @@ -1664,7 +1663,6 @@ pathshorten( {expr}) String shorten dir prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum} printf( {fmt}, {expr1}...) String format text pumvisible() Number whether popup menu is visible -pushkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer range( {expr} [, {max} [, {stride}]]) List items from {expr} to {max} readfile({fname} [, {binary} [, {max}]]) @@ -2457,6 +2455,25 @@ extend({expr1}, {expr2} [, {expr3}]) * Returns {expr1}. +feedkeys({string} [, {mode}]) *feedkeys()* + Characters in {string} are queued for processing as if they + come from a mapping or where typed by user. They are added to + the end of the typeahead buffer, thus if a mapping is still + being executed these characters come after them. + The function does not wait for processing of keys contained in + {string}. + To include special keys into {string}, use double-quotes + and "\..." notation |expr-quote|. For example, + feedkeys("\") simulates pressing of the Enter key. But + feedkeys('\') pushes 5 characters. + If {mode} is absent, keys are remapped. + {mode} is a String, which can contain these character flags: + 'm' remap keys. This is default. + 'n' do not remap keys + 't' handle keys as if typed; otherwise they are handled as + if coming from a mapping + Return value is always 0. + filereadable({file}) *filereadable()* The result is a Number, which is TRUE when a file with the name {file} exists, and can be read. If {file} doesn't exist, @@ -3549,7 +3566,10 @@ matchlist({expr}, {pat}[, {start}[, {cou Same as match(), but return a |List|. The first item in the list is the matched string, same as what matchstr() would return. Following items are submatches, like "\1", "\2", etc. - in |:substitute|. + in |:substitute|. When an optional submatch didn't match an + empty string is used. Example: > + echo matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)') +< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', ''] When there is no match an empty list is returned. matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()* @@ -3796,23 +3816,6 @@ pumvisible() *pumvisible()* This can be used to avoid some things that would remove the popup menu. -pushkeys({string} [, {mode}]) *pushkeys()* - Characters in {string} are queued for processing as if they - were typed by user. They are added to the end of the - typeahead buffer, thus if a mapping is still being executed - these characters come after them. - The function does not wait for processing of keys contained in - {string}. - To include special keys into {string}, use double-quotes - and "\..." notation |expr-quote|. For example, - pushkeys("\") simulates pressing of the Enter key. But - pushkeys('\') pushes 5 characters. - If {mode} is absent, keys are remapped. - {mode} is a String, which can contain these character flags: - 'm' remap keys. This is default. - 'n' do not remap keys - Return value is always 0. - *E726* *E727* range({expr} [, {max} [, {stride}]]) *range()* Returns a |List| with Numbers: diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt --- a/runtime/doc/farsi.txt +++ b/runtime/doc/farsi.txt @@ -1,4 +1,4 @@ -*farsi.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*farsi.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Mortaza Ghassab Shiran diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*filetype.txt* For Vim version 7.0f. Last change: 2006 Mar 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt --- a/runtime/doc/fold.txt +++ b/runtime/doc/fold.txt @@ -1,4 +1,4 @@ -*fold.txt* For Vim version 7.0e. Last change: 2006 Mar 29 +*fold.txt* For Vim version 7.0f. Last change: 2006 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/getscript.txt b/runtime/doc/getscript.txt --- a/runtime/doc/getscript.txt +++ b/runtime/doc/getscript.txt @@ -1,4 +1,4 @@ -*getscript.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*getscript.txt* For Vim version 7.0f. Last change: 2006 Mar 24 Get the Latest VimScripts diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1,4 +1,4 @@ -*gui.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*gui.txt* For Vim version 7.0f. Last change: 2006 Apr 02 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt --- a/runtime/doc/gui_w16.txt +++ b/runtime/doc/gui_w16.txt @@ -1,4 +1,4 @@ -*gui_w16.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*gui_w16.txt* For Vim version 7.0f. 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 --- a/runtime/doc/gui_w32.txt +++ b/runtime/doc/gui_w32.txt @@ -1,4 +1,4 @@ -*gui_w32.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*gui_w32.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt --- a/runtime/doc/gui_x11.txt +++ b/runtime/doc/gui_x11.txt @@ -1,4 +1,4 @@ -*gui_x11.txt* For Vim version 7.0e. Last change: 2005 Dec 06 +*gui_x11.txt* For Vim version 7.0f. Last change: 2005 Dec 06 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt --- a/runtime/doc/hangulin.txt +++ b/runtime/doc/hangulin.txt @@ -1,4 +1,4 @@ -*hangulin.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*hangulin.txt* For Vim version 7.0f. Last change: 2006 Apr 02 VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt --- a/runtime/doc/hebrew.txt +++ b/runtime/doc/hebrew.txt @@ -1,4 +1,4 @@ -*hebrew.txt* For Vim version 7.0e. Last change: 2003 May 11 +*hebrew.txt* For Vim version 7.0f. Last change: 2003 May 11 VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*help.txt* For Vim version 7.0f. Last change: 2006 Apr 02 VIM - main help file k diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt --- a/runtime/doc/howto.txt +++ b/runtime/doc/howto.txt @@ -1,4 +1,4 @@ -*howto.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*howto.txt* For Vim version 7.0f. 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 --- a/runtime/doc/if_cscop.txt +++ b/runtime/doc/if_cscop.txt @@ -1,4 +1,4 @@ -*if_cscop.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*if_cscop.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Andy Kahn diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt --- a/runtime/doc/if_mzsch.txt +++ b/runtime/doc/if_mzsch.txt @@ -1,4 +1,4 @@ -*if_mzsch.txt* For Vim version 7.0e. Last change: 2006 Mar 06 +*if_mzsch.txt* For Vim version 7.0f. Last change: 2006 Mar 06 VIM REFERENCE MANUAL by Sergey Khorev diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt --- a/runtime/doc/if_ole.txt +++ b/runtime/doc/if_ole.txt @@ -1,4 +1,4 @@ -*if_ole.txt* For Vim version 7.0e. Last change: 2006 Mar 06 +*if_ole.txt* For Vim version 7.0f. Last change: 2006 Mar 06 VIM REFERENCE MANUAL by Paul Moore diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt --- a/runtime/doc/if_perl.txt +++ b/runtime/doc/if_perl.txt @@ -1,4 +1,4 @@ -*if_perl.txt* For Vim version 7.0e. Last change: 2006 Mar 06 +*if_perl.txt* For Vim version 7.0f. Last change: 2006 Mar 06 VIM REFERENCE MANUAL by Sven Verdoolaege diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 7.0e. Last change: 2006 Jan 20 +*if_pyth.txt* For Vim version 7.0f. Last change: 2006 Jan 20 VIM REFERENCE MANUAL by Paul Moore diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt --- a/runtime/doc/if_ruby.txt +++ b/runtime/doc/if_ruby.txt @@ -1,4 +1,4 @@ -*if_ruby.txt* For Vim version 7.0e. Last change: 2006 Mar 26 +*if_ruby.txt* For Vim version 7.0f. Last change: 2006 Mar 26 VIM REFERENCE MANUAL by Shugo Maeda diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt --- a/runtime/doc/if_sniff.txt +++ b/runtime/doc/if_sniff.txt @@ -1,4 +1,4 @@ -*if_sniff.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*if_sniff.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt --- a/runtime/doc/if_tcl.txt +++ b/runtime/doc/if_tcl.txt @@ -1,4 +1,4 @@ -*if_tcl.txt* For Vim version 7.0e. Last change: 2006 Mar 06 +*if_tcl.txt* For Vim version 7.0f. Last change: 2006 Mar 06 VIM REFERENCE MANUAL by Ingo Wilken diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt --- a/runtime/doc/indent.txt +++ b/runtime/doc/indent.txt @@ -1,4 +1,4 @@ -*indent.txt* For Vim version 7.0e. Last change: 2006 Apr 16 +*indent.txt* For Vim version 7.0f. Last change: 2006 Apr 16 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 7.0e. Last change: 2006 Apr 10 +*index.txt* For Vim version 7.0f. Last change: 2006 Apr 10 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.0e. Last change: 2006 Apr 23 +*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 23 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -1,4 +1,4 @@ -*intro.txt* For Vim version 7.0e. Last change: 2006 Apr 20 +*intro.txt* For Vim version 7.0f. Last change: 2006 Apr 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.0e. Last change: 2006 Apr 20 +*map.txt* For Vim version 7.0f. Last change: 2006 Apr 20 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -1,4 +1,4 @@ -*mbyte.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*mbyte.txt* For Vim version 7.0f. Last change: 2006 Apr 21 VIM REFERENCE MANUAL by Bram Moolenaar et al. diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 7.0e. Last change: 2006 Apr 11 +*message.txt* For Vim version 7.0f. Last change: 2006 Apr 11 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt --- a/runtime/doc/mlang.txt +++ b/runtime/doc/mlang.txt @@ -1,4 +1,4 @@ -*mlang.txt* For Vim version 7.0e. Last change: 2004 Feb 24 +*mlang.txt* For Vim version 7.0f. Last change: 2004 Feb 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 7.0e. Last change: 2006 Apr 22 +*motion.txt* For Vim version 7.0f. Last change: 2006 Apr 22 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt --- a/runtime/doc/netbeans.txt +++ b/runtime/doc/netbeans.txt @@ -1,4 +1,4 @@ -*netbeans.txt* For Vim version 7.0e. Last change: 2006 Mar 09 +*netbeans.txt* For Vim version 7.0f. Last change: 2006 Mar 09 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*options.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -4312,6 +4312,20 @@ A jump table for the options with a shor Note that using the "-u NONE" and "--noplugin" command line arguments reset this option. |-u| |--noplugin| + *'macatsui'* *'nomacatsui'* +'macatsui' boolean (default on) + global + {only available in Mac GUI version} + This is a workaround for when drawing doesn't work properly. When set + and compiled with multi-byte support ATSUI text drawing is used. When + not set ATSUI text drawing is not used. Switch this option off when + you experience drawing problems. In a future version the problems may + be solved and this option becomes obsolete. Therefore use this method + to unset it: > + if exists('&macatsui') + set nomacatsui + endif +< *'magic'* *'nomagic'* 'magic' boolean (default on) global diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt --- a/runtime/doc/os_390.txt +++ b/runtime/doc/os_390.txt @@ -1,4 +1,4 @@ -*os_390.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_390.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Ralf Schandl diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt --- a/runtime/doc/os_amiga.txt +++ b/runtime/doc/os_amiga.txt @@ -1,4 +1,4 @@ -*os_amiga.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_amiga.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_beos.txt +++ b/runtime/doc/os_beos.txt @@ -1,4 +1,4 @@ -*os_beos.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_beos.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_dos.txt +++ b/runtime/doc/os_dos.txt @@ -1,4 +1,4 @@ -*os_dos.txt* For Vim version 7.0e. Last change: 2006 Mar 30 +*os_dos.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_mac.txt +++ b/runtime/doc/os_mac.txt @@ -1,4 +1,4 @@ -*os_mac.txt* For Vim version 7.0e. Last change: 2006 Mar 29 +*os_mac.txt* For Vim version 7.0f. Last change: 2006 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar et al. diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt --- a/runtime/doc/os_mint.txt +++ b/runtime/doc/os_mint.txt @@ -1,4 +1,4 @@ -*os_mint.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_mint.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_msdos.txt +++ b/runtime/doc/os_msdos.txt @@ -1,4 +1,4 @@ -*os_msdos.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_msdos.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_os2.txt +++ b/runtime/doc/os_os2.txt @@ -1,4 +1,4 @@ -*os_os2.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_os2.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Paul Slootman diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt --- a/runtime/doc/os_qnx.txt +++ b/runtime/doc/os_qnx.txt @@ -1,4 +1,4 @@ -*os_qnx.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_qnx.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_risc.txt +++ b/runtime/doc/os_risc.txt @@ -1,4 +1,4 @@ -*os_risc.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_risc.txt* For Vim version 7.0f. Last change: 2005 Mar 29 VIM REFERENCE MANUAL by Thomas Leonard diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt --- a/runtime/doc/os_unix.txt +++ b/runtime/doc/os_unix.txt @@ -1,4 +1,4 @@ -*os_unix.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*os_unix.txt* For Vim version 7.0f. 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 --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -1,4 +1,4 @@ -*os_vms.txt* For Vim version 7.0e. Last change: 2006 Mar 02 +*os_vms.txt* For Vim version 7.0f. Last change: 2006 Mar 02 VIM REFERENCE MANUAL diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -1,4 +1,4 @@ -*os_win32.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*os_win32.txt* For Vim version 7.0f. Last change: 2006 Apr 02 VIM REFERENCE MANUAL by George Reilly diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.0e. Last change: 2006 Apr 22 +*pattern.txt* For Vim version 7.0f. Last change: 2006 Apr 22 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt --- a/runtime/doc/pi_gzip.txt +++ b/runtime/doc/pi_gzip.txt @@ -1,4 +1,4 @@ -*pi_gzip.txt* For Vim version 7.0e. Last change: 2002 Oct 29 +*pi_gzip.txt* For Vim version 7.0f. 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 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 22, 2006 +*pi_netrw.txt* For Vim version 7.0f. Last change: Apr 22, 2006 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt --- a/runtime/doc/pi_paren.txt +++ b/runtime/doc/pi_paren.txt @@ -1,4 +1,4 @@ -*pi_paren.txt* For Vim version 7.0e. Last change: 2006 Apr 03 +*pi_paren.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt --- a/runtime/doc/pi_spec.txt +++ b/runtime/doc/pi_spec.txt @@ -1,4 +1,4 @@ -*pi_spec.txt* For Vim version 7.0e. Last change: 2005 Oct 03 +*pi_spec.txt* For Vim version 7.0f. Last change: 2006 Apr 24 by Gustavo Niemeyer ~ diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt --- a/runtime/doc/pi_tar.txt +++ b/runtime/doc/pi_tar.txt @@ -1,4 +1,4 @@ -*pi_tar.txt* For Vim version 7.0e. Last change: 2006 Apr 22 +*pi_tar.txt* For Vim version 7.0f. Last change: 2006 Apr 24 +====================+ | Tar File Interface | diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt --- a/runtime/doc/pi_zip.txt +++ b/runtime/doc/pi_zip.txt @@ -1,4 +1,4 @@ -*pi_zip.txt* For Vim version 7.0e. Last change: 2006 Apr 22 +*pi_zip.txt* For Vim version 7.0f. Last change: 2006 Apr 24 +====================+ | Zip File Interface | diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -1,4 +1,4 @@ -*print.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*print.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*quickfix.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*quickref.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -753,6 +753,7 @@ Short explanation of each option: *opti 'list' show and 'listchars' 'lcs' characters for displaying in list mode 'loadplugins' 'lpl' load plugin scripts when starting up +'macatsui' Mac GUI: use ATSUI text drawing 'magic' changes special characters in search patterns 'makeef' 'mef' name of the errorfile for ":make" 'makeprg' 'mp' program to use for the ":make" command diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt --- a/runtime/doc/quotes.txt +++ b/runtime/doc/quotes.txt @@ -1,4 +1,4 @@ -*quotes.txt* For Vim version 7.0e. Last change: 2005 Apr 04 +*quotes.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt --- a/runtime/doc/recover.txt +++ b/runtime/doc/recover.txt @@ -1,4 +1,4 @@ -*recover.txt* For Vim version 7.0e. Last change: 2005 Dec 12 +*recover.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt --- a/runtime/doc/remote.txt +++ b/runtime/doc/remote.txt @@ -1,4 +1,4 @@ -*remote.txt* For Vim version 7.0e. Last change: 2006 Mar 11 +*remote.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.0e. Last change: 2006 Mar 21 +*repeat.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt --- a/runtime/doc/rileft.txt +++ b/runtime/doc/rileft.txt @@ -1,4 +1,4 @@ -*rileft.txt* For Vim version 7.0e. Last change: 2005 Apr 04 +*rileft.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Avner Lottem diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt --- a/runtime/doc/russian.txt +++ b/runtime/doc/russian.txt @@ -1,4 +1,4 @@ -*russian.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*russian.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Vassily Ragosin diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt --- a/runtime/doc/scroll.txt +++ b/runtime/doc/scroll.txt @@ -1,4 +1,4 @@ -*scroll.txt* For Vim version 7.0e. Last change: 2005 Dec 16 +*scroll.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -1,4 +1,4 @@ -*sign.txt* For Vim version 7.0e. Last change: 2005 Apr 04 +*sign.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0e. Last change: 2006 Apr 20 +*spell.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -36,7 +36,9 @@ Vim only checks words for spelling, ther If the 'mousemodel' option is set to "popup" and the cursor is on a badly spelled word or it is "popup_setpos" and the mouse pointer is on a badly spelled word, then the popup menu will contain a submenu to replace the bad -word. Note: this slows down the appearance of the popup menu. +word. Note: this slows down the appearance of the popup menu. Note for GTK: +don't release the right mouse button until the menu appears, otherwise it +won't work. To search for the next misspelled word: @@ -370,8 +372,10 @@ The table with word characters is stored matters what the current locale is when generating it! A .add.spl file does not contain a word table though. -A word that starts with a digit is always ignored. That includes hex numbers -in the form 0xff and 0XFF. +For a word that starts with a digit the digit is ignored, unless the word as a +whole is recognized. Thus if "3D" is a word and "D" is not then "3D" is +recognized as a word, but if "3D" is not a word then only the "D" is marked as +bad. Hex numbers in the form 0x12ab and 0X12AB are recognized. WORD COMBINATIONS diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt --- a/runtime/doc/sponsor.txt +++ b/runtime/doc/sponsor.txt @@ -1,4 +1,4 @@ -*sponsor.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*sponsor.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt --- a/runtime/doc/sql.txt +++ b/runtime/doc/sql.txt @@ -1,4 +1,4 @@ -*sql.txt* For Vim version 7.0e. Last change: Fri Apr 21 2006 10:39:11 PM +*sql.txt* For Vim version 7.0f. Last change: Fri Apr 21 2006 10:39:11 PM by David Fishburn diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.0e. Last change: 2006 Apr 23 +*starting.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0e. Last change: 2006 Apr 20 +*syntax.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -648,6 +648,8 @@ c_no_c99 don't highlight C99 standard i When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will become a fold. If you don't want comments to become a fold use: > :let c_no_comment_fold = 1 +"#if 0" blocks are also folded, unless: > + :let c_no_if0_fold = 1 If you notice highlighting errors while scrolling backwards, which are fixed when redrawing with CTRL-L, try setting the "c_minlines" internal variable diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -1,4 +1,4 @@ -*tabpage.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*tabpage.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -356,6 +356,7 @@ 'lw' options.txt /*'lw'* 'lz' options.txt /*'lz'* 'ma' options.txt /*'ma'* +'macatsui' options.txt /*'macatsui'* 'magic' options.txt /*'magic'* 'makeef' options.txt /*'makeef'* 'makeprg' options.txt /*'makeprg'* @@ -513,6 +514,7 @@ 'nolpl' options.txt /*'nolpl'* 'nolz' options.txt /*'nolz'* 'noma' options.txt /*'noma'* +'nomacatsui' options.txt /*'nomacatsui'* 'nomagic' options.txt /*'nomagic'* 'nomh' options.txt /*'nomh'* 'noml' options.txt /*'noml'* @@ -5148,6 +5150,7 @@ fasm.vim syntax.txt /*fasm.vim* fcs_choice-variable eval.txt /*fcs_choice-variable* fcs_reason-variable eval.txt /*fcs_reason-variable* feature-list eval.txt /*feature-list* +feedkeys() eval.txt /*feedkeys()* fetch pi_netrw.txt /*fetch* file-browser-5.2 version5.txt /*file-browser-5.2* file-formats editing.txt /*file-formats* @@ -5624,7 +5627,6 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* -help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* @@ -6559,7 +6561,6 @@ psql sql.txt /*psql* ptcap.vim syntax.txt /*ptcap.vim* pterm-mouse options.txt /*pterm-mouse* pumvisible() eval.txt /*pumvisible()* -pushkeys() eval.txt /*pushkeys()* put change.txt /*put* put-Visual-mode change.txt /*put-Visual-mode* python if_pyth.txt /*python* diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -1,4 +1,4 @@ -*tagsrch.txt* For Vim version 7.0e. Last change: 2006 Feb 24 +*tagsrch.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -1,4 +1,4 @@ -*term.txt* For Vim version 7.0e. Last change: 2006 Feb 14 +*term.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt --- a/runtime/doc/tips.txt +++ b/runtime/doc/tips.txt @@ -1,4 +1,4 @@ -*tips.txt* For Vim version 7.0e. Last change: 2006 Mar 01 +*tips.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 23 +*todo.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,35 +30,22 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -Omit errors for slicing? - -When there is only one match and "longest" used then CTRL-X CTRL-N shows -original match instead of longest. (Nicolas Schodet) - -Line completion on "/**" gives error messages. (Nicolas Schodet) - -Crash in "z=" when the change triggers checking out the file, FileChangedRO -event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird) -Added a few checks for valid buffer, did that help? - Add more tests for all new functionality in Vim 7. Especially new functions. -Win32: Describe how to do debugging. (George Reilly) - -Mac unicode patch (Da Woon Jung, Eckehard Berns): -8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac? - New patch 2004 Jun 16 -- selecting proportional font breaks display -- UTF-8 text causes display problems. Font replacement causes this. -- Command-key mappings do not work. (Alan Schmitt) -- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work. - (Alan Schmitt) - Darren Hiebert is including the patch for omni completion in ctags. A new version still isn't available for download. Awaiting updated patches: +9 Mac unicode patch (Da Woon Jung, Eckehard Berns): + 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac? + New patch 2004 Jun 16 + - selecting proportional font breaks display + - UTF-8 text causes display problems. Font replacement causes this. + - Command-key mappings do not work. (Alan Schmitt) + - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work. + (Alan Schmitt) + - remove 'macatsui' option when this has been fixed. 9 HTML indenting can be slow. Caused by using searchpair(). Can search() be used instead? 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt --- a/runtime/doc/uganda.txt +++ b/runtime/doc/uganda.txt @@ -1,4 +1,4 @@ -*uganda.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*uganda.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt --- a/runtime/doc/undo.txt +++ b/runtime/doc/undo.txt @@ -1,4 +1,4 @@ -*undo.txt* For Vim version 7.0e. Last change: 2006 Apr 21 +*undo.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt --- a/runtime/doc/usr_01.txt +++ b/runtime/doc/usr_01.txt @@ -1,4 +1,4 @@ -*usr_01.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_01.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt --- a/runtime/doc/usr_02.txt +++ b/runtime/doc/usr_02.txt @@ -1,4 +1,4 @@ -*usr_02.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*usr_02.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt --- a/runtime/doc/usr_03.txt +++ b/runtime/doc/usr_03.txt @@ -1,4 +1,4 @@ -*usr_03.txt* For Vim version 7.0e. Last change: 2005 Apr 22 +*usr_03.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt --- a/runtime/doc/usr_04.txt +++ b/runtime/doc/usr_04.txt @@ -1,4 +1,4 @@ -*usr_04.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_04.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -1,4 +1,4 @@ -*usr_05.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*usr_05.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt --- a/runtime/doc/usr_06.txt +++ b/runtime/doc/usr_06.txt @@ -1,4 +1,4 @@ -*usr_06.txt* For Vim version 7.0e. Last change: 2006 Feb 16 +*usr_06.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt --- a/runtime/doc/usr_07.txt +++ b/runtime/doc/usr_07.txt @@ -1,4 +1,4 @@ -*usr_07.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_07.txt* For Vim version 7.0f. 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 --- a/runtime/doc/usr_08.txt +++ b/runtime/doc/usr_08.txt @@ -1,4 +1,4 @@ -*usr_08.txt* For Vim version 7.0e. Last change: 2006 Feb 25 +*usr_08.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt --- a/runtime/doc/usr_09.txt +++ b/runtime/doc/usr_09.txt @@ -1,4 +1,4 @@ -*usr_09.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_09.txt* For Vim version 7.0f. 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 --- a/runtime/doc/usr_10.txt +++ b/runtime/doc/usr_10.txt @@ -1,4 +1,4 @@ -*usr_10.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_10.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt --- a/runtime/doc/usr_11.txt +++ b/runtime/doc/usr_11.txt @@ -1,4 +1,4 @@ -*usr_11.txt* For Vim version 7.0e. Last change: 2005 Jun 09 +*usr_11.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt --- a/runtime/doc/usr_12.txt +++ b/runtime/doc/usr_12.txt @@ -1,4 +1,4 @@ -*usr_12.txt* For Vim version 7.0e. Last change: 2006 Feb 26 +*usr_12.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt --- a/runtime/doc/usr_20.txt +++ b/runtime/doc/usr_20.txt @@ -1,4 +1,4 @@ -*usr_20.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_20.txt* For Vim version 7.0f. 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 --- a/runtime/doc/usr_21.txt +++ b/runtime/doc/usr_21.txt @@ -1,4 +1,4 @@ -*usr_21.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_21.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt --- a/runtime/doc/usr_22.txt +++ b/runtime/doc/usr_22.txt @@ -1,4 +1,4 @@ -*usr_22.txt* For Vim version 7.0e. Last change: 2005 Apr 10 +*usr_22.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt --- a/runtime/doc/usr_23.txt +++ b/runtime/doc/usr_23.txt @@ -1,4 +1,4 @@ -*usr_23.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_23.txt* For Vim version 7.0f. 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 --- a/runtime/doc/usr_24.txt +++ b/runtime/doc/usr_24.txt @@ -1,4 +1,4 @@ -*usr_24.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*usr_24.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt --- a/runtime/doc/usr_25.txt +++ b/runtime/doc/usr_25.txt @@ -1,4 +1,4 @@ -*usr_25.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_25.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt --- a/runtime/doc/usr_26.txt +++ b/runtime/doc/usr_26.txt @@ -1,4 +1,4 @@ -*usr_26.txt* For Vim version 7.0e. Last change: 2002 Oct 29 +*usr_26.txt* For Vim version 7.0f. 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 --- a/runtime/doc/usr_27.txt +++ b/runtime/doc/usr_27.txt @@ -1,4 +1,4 @@ -*usr_27.txt* For Vim version 7.0e. Last change: 2005 Feb 08 +*usr_27.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt --- a/runtime/doc/usr_28.txt +++ b/runtime/doc/usr_28.txt @@ -1,4 +1,4 @@ -*usr_28.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_28.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt --- a/runtime/doc/usr_29.txt +++ b/runtime/doc/usr_29.txt @@ -1,4 +1,4 @@ -*usr_29.txt* For Vim version 7.0e. Last change: 2004 Feb 12 +*usr_29.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt --- a/runtime/doc/usr_30.txt +++ b/runtime/doc/usr_30.txt @@ -1,4 +1,4 @@ -*usr_30.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_30.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt --- a/runtime/doc/usr_31.txt +++ b/runtime/doc/usr_31.txt @@ -1,4 +1,4 @@ -*usr_31.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*usr_31.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt --- a/runtime/doc/usr_32.txt +++ b/runtime/doc/usr_32.txt @@ -1,4 +1,4 @@ -*usr_32.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*usr_32.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt --- a/runtime/doc/usr_40.txt +++ b/runtime/doc/usr_40.txt @@ -1,4 +1,4 @@ -*usr_40.txt* For Vim version 7.0e. Last change: 2006 Mar 24 +*usr_40.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.0e. Last change: 2006 Apr 15 +*usr_41.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt --- a/runtime/doc/usr_42.txt +++ b/runtime/doc/usr_42.txt @@ -1,4 +1,4 @@ -*usr_42.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*usr_42.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt --- a/runtime/doc/usr_43.txt +++ b/runtime/doc/usr_43.txt @@ -1,4 +1,4 @@ -*usr_43.txt* For Vim version 7.0e. Last change: 2002 Jul 14 +*usr_43.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt --- a/runtime/doc/usr_44.txt +++ b/runtime/doc/usr_44.txt @@ -1,4 +1,4 @@ -*usr_44.txt* For Vim version 7.0e. Last change: 2006 Apr 18 +*usr_44.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt --- a/runtime/doc/usr_45.txt +++ b/runtime/doc/usr_45.txt @@ -1,4 +1,4 @@ -*usr_45.txt* For Vim version 7.0e. Last change: 2004 Jun 08 +*usr_45.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt --- a/runtime/doc/usr_90.txt +++ b/runtime/doc/usr_90.txt @@ -1,4 +1,4 @@ -*usr_90.txt* For Vim version 7.0e. Last change: 2004 Mar 21 +*usr_90.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt --- a/runtime/doc/usr_toc.txt +++ b/runtime/doc/usr_toc.txt @@ -1,4 +1,4 @@ -*usr_toc.txt* For Vim version 7.0e. Last change: 2006 Apr 02 +*usr_toc.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.0e. Last change: 2006 Apr 22 +*various.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt --- a/runtime/doc/version4.txt +++ b/runtime/doc/version4.txt @@ -1,4 +1,4 @@ -*version4.txt* For Vim version 7.0e. Last change: 2004 Mar 12 +*version4.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt --- a/runtime/doc/version5.txt +++ b/runtime/doc/version5.txt @@ -1,4 +1,4 @@ -*version5.txt* For Vim version 7.0e. Last change: 2005 Apr 01 +*version5.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt --- a/runtime/doc/version6.txt +++ b/runtime/doc/version6.txt @@ -1,4 +1,4 @@ -*version6.txt* For Vim version 7.0e. Last change: 2005 Oct 17 +*version6.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 23 +*version7.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -731,6 +731,7 @@ New and extended functions: ~ |eval()| evaluate {string} and return the result |extend()| append one List to another or add items from one Dictionary to another +|feedkeys()| put characters in the typeahead buffer |filter()| remove selected items from a List or Dictionary |finddir()| find a directory in 'path' |findfile()| find a file in 'path' (Johannes Zellner) @@ -775,7 +776,6 @@ New and extended functions: ~ |mkdir()| create a directory |printf()| format text |pumvisible()| check whether the popup menu is displayed -|pushkeys()| put characters in the typeahead buffer |range()| generate a List with numbers |readfile()| read a file into a list of lines |reltime()| get time value, possibly relative @@ -1030,6 +1030,8 @@ Also fixes the problem that setting 'cli Mac: GUI font selector. (Peter Cucka) Mac: support for multi-byte characters. (Da Woon Jung) +This doesn't always work properly. If you see text drawing problems try +switching the 'macatsui' option off. Mac: Support the xterm mouse in the non-GUI version. @@ -2530,7 +2532,7 @@ if 'encoding' is a multi-byte encoding. Spell checking: spellbadword() didn't see a missing capital in the first word of a line. Popup menu now only suggest the capitalized word when appropriate. -When using whole line completion CTRL-L moves throught the matches but it +When using whole line completion CTRL-L moves through the matches but it didn't work when at the original text. When completion finds the longest match, don't go to the first match but stick @@ -2596,7 +2598,16 @@ Fixed a few leaks and wrong pointer use When showing menus the mode character was sometimes wrong. -Added pushkeys(). (Yakov Lerner) +Added feedkeys(). (Yakov Lerner) + +Made matchlist() always return all submatches. + +Moved triggering QuickFixCmdPost to before jumping to the first location. + +Mac: Added the 'macatsui' option as a temporary work around for text drawing +problems. + +Line completion on "/**" gave error messages when scanning an unloaded buffer. vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt --- a/runtime/doc/vi_diff.txt +++ b/runtime/doc/vi_diff.txt @@ -1,4 +1,4 @@ -*vi_diff.txt* For Vim version 7.0e. Last change: 2006 Apr 12 +*vi_diff.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/vimball.txt b/runtime/doc/vimball.txt --- a/runtime/doc/vimball.txt +++ b/runtime/doc/vimball.txt @@ -1,4 +1,4 @@ -*vimball.txt* For Vim version 7.0e. Last change: 2006 Apr 01 +*vimball.txt* For Vim version 7.0f. Last change: 2006 Apr 24 Vimball Archiver diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt --- a/runtime/doc/visual.txt +++ b/runtime/doc/visual.txt @@ -1,4 +1,4 @@ -*visual.txt* For Vim version 7.0e. Last change: 2006 Mar 20 +*visual.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1,4 +1,4 @@ -*windows.txt* For Vim version 7.0e. Last change: 2006 Apr 10 +*windows.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt --- a/runtime/doc/workshop.txt +++ b/runtime/doc/workshop.txt @@ -1,4 +1,4 @@ -*workshop.txt* For Vim version 7.0e. Last change: 2005 Mar 29 +*workshop.txt* For Vim version 7.0f. Last change: 2006 Apr 24 VIM REFERENCE MANUAL by Gordon Prieur diff --git a/runtime/optwin.vim b/runtime/optwin.vim --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar -" Last Change: 2006 Apr 21 +" Last Change: 2006 Apr 24 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 @@ -479,10 +479,12 @@ call append("$", "tabpagemax\tmaximum nu call append("$", " \tset tpm=" . &tpm) call append("$", "tabline\tcustom tab pages line") call OptionG("tal", &tal) -call append("$", "guitablabel\tcustom tab page label for the GUI") -call OptionG("gtl", >l) -call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI") -call OptionG("gtt", >t) +if has("gui") + call append("$", "guitablabel\tcustom tab page label for the GUI") + call OptionG("gtl", >l) + call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI") + call OptionG("gtt", >t) +endif call Header("terminal") @@ -606,6 +608,10 @@ if has("gui") call append("$", " \tset bexpr=" . &bexpr) endif endif + if exists("&macatsui") + call append("$", "macatsui\tuse ATSUI text drawing; disable to avoid display problems") + call OptionG("macatsui", &macatsui) + endif endif if has("printer") diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim --- a/runtime/synmenu.vim +++ b/runtime/synmenu.vim @@ -97,23 +97,24 @@ an 50.20.200 &Syntax.C.CH\ script :cal S an 50.20.210 &Syntax.C.ChangeLog :cal SetSyn("changelog") an 50.20.220 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah") an 50.20.230 &Syntax.C.CHILL :cal SetSyn("chill") -an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean") -an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl") -an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper") -an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake") -an 50.20.280 &Syntax.C.Cold\ Fusion :cal SetSyn("cf") -an 50.20.290 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg") -an 50.20.300 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf") -an 50.20.310 &Syntax.C.Config.Configure\.in :cal SetSyn("config") -an 50.20.320 &Syntax.C.ConTeXt :cal SetSyn("context") -an 50.20.330 &Syntax.C.CRM114 :cal SetSyn("crm") -an 50.20.340 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh") -an 50.20.350 &Syntax.C.Cobol :cal SetSyn("cobol") -an 50.20.360 &Syntax.C.CSP :cal SetSyn("csp") -an 50.20.370 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl") -an 50.20.380 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim") -an 50.20.390 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs") -an 50.20.400 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc") +an 50.20.240 &Syntax.C.ChordPro :cal SetSyn("chordpro") +an 50.20.250 &Syntax.C.Clean :cal SetSyn("clean") +an 50.20.260 &Syntax.C.Clever :cal SetSyn("cl") +an 50.20.270 &Syntax.C.Clipper :cal SetSyn("clipper") +an 50.20.280 &Syntax.C.Cmake :cal SetSyn("cmake") +an 50.20.290 &Syntax.C.Cold\ Fusion :cal SetSyn("cf") +an 50.20.300 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg") +an 50.20.310 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf") +an 50.20.320 &Syntax.C.Config.Configure\.in :cal SetSyn("config") +an 50.20.330 &Syntax.C.ConTeXt :cal SetSyn("context") +an 50.20.340 &Syntax.C.CRM114 :cal SetSyn("crm") +an 50.20.350 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh") +an 50.20.360 &Syntax.C.Cobol :cal SetSyn("cobol") +an 50.20.370 &Syntax.C.CSP :cal SetSyn("csp") +an 50.20.380 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl") +an 50.20.390 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim") +an 50.20.400 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs") +an 50.20.410 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc") an 50.30.100 &Syntax.DE.D :cal SetSyn("d") an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog") an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol") @@ -462,17 +463,18 @@ an 50.110.360 &Syntax.TUV.UIT/UIL :cal S an 50.110.370 &Syntax.TUV.UnrealScript :cal SetSyn("uc") an 50.110.380 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb") an 50.110.400 &Syntax.TUV.Valgrind :cal SetSyn("valgrind") -an 50.110.410 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams") -an 50.110.420 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog") -an 50.110.430 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs") -an 50.110.440 &Syntax.TUV.VHDL :cal SetSyn("vhdl") -an 50.110.450 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help") -an 50.110.460 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim") -an 50.110.470 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo") -an 50.110.480 &Syntax.TUV.Virata\ config :cal SetSyn("virata") -an 50.110.490 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb") -an 50.110.500 &Syntax.TUV.VRML :cal SetSyn("vrml") -an 50.110.510 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl") +an 50.110.410 &Syntax.TUV.Vera :cal SetSyn("vera") +an 50.110.420 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams") +an 50.110.430 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog") +an 50.110.440 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs") +an 50.110.450 &Syntax.TUV.VHDL :cal SetSyn("vhdl") +an 50.110.460 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help") +an 50.110.470 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim") +an 50.110.480 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo") +an 50.110.490 &Syntax.TUV.Virata\ config :cal SetSyn("virata") +an 50.110.500 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb") +an 50.110.510 &Syntax.TUV.VRML :cal SetSyn("vrml") +an 50.110.520 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl") an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb") an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web") an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change") diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar -" Last Change: 2006 Apr 12 +" Last Change: 2006 Apr 24 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -260,7 +260,11 @@ endif syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>" if !exists("c_no_if0") - syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 + if !exists("c_no_if0_fold") + syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 fold + else + syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 + endif syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip endif diff --git a/runtime/syntax/muttrc.vim b/runtime/syntax/muttrc.vim --- a/runtime/syntax/muttrc.vim +++ b/runtime/syntax/muttrc.vim @@ -1,19 +1,11 @@ " Vim syntax file " Language: Mutt setup files -" Maintainer: Debian VIM Maintainers -" Former Maintainer: Preben 'Peppe' Guldberg -" Contributor: Gary Johnson -" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $ -" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/muttrc.vim?op=file&rev=0&sc=0 -" -" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain -" it only because patches have been submitted for it by Debian users and the -" former maintainer was MIA (Missing In Action), taking over its -" maintenance was thus the only way to include those patches. -" If you care about this file, and have time to maintain it please do so! +" Original: Preben 'Peppe' Guldberg +" Maintainer: Kyle Wheeler +" Last Change: 22 Apr 2006 -" XXX outdated comment -" This file covers mutt version 1.4.2.1i +" This file covers mutt version 1.5.11 +" Included are also a few features from 1.4.2.1 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -38,9 +30,24 @@ syn match muttrcEscape +\\[#tnr"'Cc]+ 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,muttrcMacro,muttrcCommand -syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand +syn match muttrcString "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape +syn region muttrcString start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction +syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction + +syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcSet + +syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1 +syn match muttrcRXChars contained /[][|()][.*?+]*/ +syn match muttrcRXChars contained /'^/ms=s+1 +syn match muttrcRXChars contained /$'/me=e-1 +syn match muttrcRXChars contained /\\/ +syn region muttrcRXString contained start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars +syn region muttrcRXString contained 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 +syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat syn match muttrcSpecial +\(['"]\)!\1+ @@ -48,162 +55,361 @@ syn match muttrcSpecial +\(['"]\)!\1+ 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 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 " Now catch some email addresses and headers (purified version from mail.vim) syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+" -syn match muttrcHeader "\<\(From\|To\|Cc\|Bcc\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" +syn match muttrcHeader "\<\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\=" -syn match muttrcKeySpecial contained +\(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ -syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial -syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial -syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial -syn match muttrcKeyName contained "\" +syn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+ +syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName +syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName +syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName +syn match muttrcKeyName contained "\" syn match muttrcKeyName contained "\\[trne]" -syn match muttrcKeyName contained "<\(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" +syn match muttrcKeyName contained "\c<\%(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>" -syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split -syn keyword muttrcVarBool contained auto_tag autoedit beep beep_new bounce_delivered check_new collapse_unread -syn keyword muttrcVarBool contained confirmappend confirmcreate delete_untag digest_collapse duplicate_threads -syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply fcc_attach -syn keyword muttrcVarBool contained fcc_clear followup_to force_name forw_decode forw_decrypt forw_quote -syn keyword muttrcVarBool contained forward_decode forward_decrypt forward_quote hdrs header help hidden_host -syn keyword muttrcVarBool contained hide_limited hide_missing hide_top_limited hide_top_missing ignore_list_reply_to -syn keyword muttrcVarBool contained imap_force_ssl imap_list_subscribed imap_passive imap_peek imap_servernoise -syn keyword muttrcVarBool contained implicit_autoview keep_flagged mailcap_sanitize maildir_trash mark_old markers -syn keyword muttrcVarBool contained menu_scroll meta_key metoo mh_purge mime_forward_decode pager_stop pgp_autoencrypt -syn keyword muttrcVarBool contained pgp_autosign pgp_ignore_subkeys pgp_long_ids pgp_replyencrypt pgp_replysign -syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable pgp_strict_enc -syn keyword muttrcVarBool contained pipe_decode pipe_split pop_auth_try_all pop_last print_decode print_split -syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias reverse_name -syn keyword muttrcVarBool contained reverse_realname rfc2047_parameters save_address save_empty save_name score -syn keyword muttrcVarBool contained sig_dashes sig_on_top smart_wrap sort_re ssl_use_sslv2 ssl_use_sslv3 ssl_use_tlsv1 -syn keyword muttrcVarBool contained ssl_usesystemcerts status_on_top strict_threads suspend text_flowed thorough_search -syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime use_domain use_from use_ipv6 +syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc +syn keyword muttrcVarBool contained askcc attach_split auto_tag autoedit beep beep_new +syn keyword muttrcVarBool contained bounce_delivered braille_friendly check_new collapse_unread +syn keyword muttrcVarBool contained confirmappend confirmcreate crypt_autoencrypt crypt_autopgp +syn keyword muttrcVarBool contained crypt_autosign crypt_autosmime crypt_replyencrypt +syn keyword muttrcVarBool contained crypt_replysign crypt_replysignencrypted crypt_timestamp +syn keyword muttrcVarBool contained crypt_use_gpgme delete_untag digest_collapse duplicate_threads +syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply +syn keyword muttrcVarBool contained fcc_attach fcc_clear followup_to force_name forw_decode +syn keyword muttrcVarBool contained forw_decrypt forw_quote forward_decode forward_decrypt +syn keyword muttrcVarBool contained forward_quote hdrs header help hidden_host hide_limited +syn keyword muttrcVarBool contained hide_missing hide_thread_subject hide_top_limited +syn keyword muttrcVarBool contained hide_top_missing ignore_list_reply_to imap_check_subscribed +syn keyword muttrcVarBool contained imap_list_subscribed imap_passive imap_peek imap_servernoise +syn keyword muttrcVarBool contained implicit_autoview include_onlyfirst keep_flagged +syn keyword muttrcVarBool contained mailcap_sanitize maildir_header_cache_verify maildir_trash +syn keyword muttrcVarBool contained mark_old markers menu_move_off menu_scroll meta_key +syn keyword muttrcVarBool contained 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_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 contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc noaskcc -syn keyword muttrcVarBool contained noattach_split noauto_tag noautoedit nobeep nobeep_new nobounce_delivered -syn keyword muttrcVarBool contained nocheck_new nocollapse_unread noconfirmappend noconfirmcreate nodelete_untag -syn keyword muttrcVarBool contained nodigest_collapse noduplicate_threads noedit_hdrs noedit_headers noencode_from -syn keyword muttrcVarBool contained noenvelope_from nofast_reply nofcc_attach nofcc_clear nofollowup_to noforce_name -syn keyword muttrcVarBool contained noforw_decode noforw_decrypt noforw_quote noforward_decode noforward_decrypt -syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nohide_missing -syn keyword muttrcVarBool contained nohide_top_limited nohide_top_missing noignore_list_reply_to noimap_force_ssl +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 nokeep_flagged nomailcap_sanitize nomaildir_trash nomark_old -syn keyword muttrcVarBool contained nomarkers nomenu_scroll nometa_key nometoo nomh_purge nomime_forward_decode -syn keyword muttrcVarBool contained nopager_stop nopgp_autoencrypt nopgp_autosign nopgp_ignore_subkeys nopgp_long_ids -syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replysign nopgp_replysignencrypted nopgp_retainable_sigs -syn keyword muttrcVarBool contained nopgp_show_unusable nopgp_strict_enc nopipe_decode nopipe_split nopop_auth_try_all -syn keyword muttrcVarBool contained nopop_last noprint_decode noprint_split noprompt_after noread_only noreply_self -syn keyword muttrcVarBool contained noresolve noreverse_alias noreverse_name noreverse_realname norfc2047_parameters -syn keyword muttrcVarBool contained nosave_address nosave_empty nosave_name noscore nosig_dashes nosig_on_top -syn keyword muttrcVarBool contained nosmart_wrap nosort_re nossl_use_sslv2 nossl_use_sslv3 nossl_use_tlsv1 -syn keyword muttrcVarBool contained nossl_usesystemcerts nostatus_on_top nostrict_threads nosuspend notext_flowed -syn keyword muttrcVarBool contained nothorough_search nothread_received notilde nouncollapse_jump nouse_8bitmime -syn keyword muttrcVarBool contained nouse_domain nouse_from nouse_ipv6 nouser_agent nowait_key noweed nowrap_search -syn keyword muttrcVarBool contained nowrite_bcc +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 contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc invaskcc -syn keyword muttrcVarBool contained invattach_split invauto_tag invautoedit invbeep invbeep_new invbounce_delivered -syn keyword muttrcVarBool contained invcheck_new invcollapse_unread invconfirmappend invconfirmcreate invdelete_untag -syn keyword muttrcVarBool contained invdigest_collapse invduplicate_threads invedit_hdrs invedit_headers invencode_from -syn keyword muttrcVarBool contained invenvelope_from invfast_reply invfcc_attach invfcc_clear invfollowup_to invforce_name -syn keyword muttrcVarBool contained invforw_decode invforw_decrypt invforw_quote invforward_decode invforward_decrypt +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_top_limited invhide_top_missing invignore_list_reply_to -syn keyword muttrcVarBool contained invimap_force_ssl invimap_list_subscribed invimap_passive invimap_peek -syn keyword muttrcVarBool contained invimap_servernoise invimplicit_autoview invkeep_flagged invmailcap_sanitize -syn keyword muttrcVarBool contained invmaildir_trash invmark_old invmarkers invmenu_scroll invmeta_key invmetoo -syn keyword muttrcVarBool contained invmh_purge invmime_forward_decode invpager_stop invpgp_autoencrypt invpgp_autosign -syn keyword muttrcVarBool contained invpgp_ignore_subkeys invpgp_long_ids invpgp_replyencrypt invpgp_replysign -syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable invpgp_strict_enc -syn keyword muttrcVarBool contained invpipe_decode invpipe_split invpop_auth_try_all invpop_last invprint_decode -syn keyword muttrcVarBool contained invprint_split invprompt_after invread_only invreply_self invresolve invreverse_alias -syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address invsave_empty -syn keyword muttrcVarBool contained invsave_name invscore invsig_dashes invsig_on_top invsmart_wrap invsort_re -syn keyword muttrcVarBool contained invssl_use_sslv2 invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts -syn keyword muttrcVarBool contained invstatus_on_top invstrict_threads invsuspend invtext_flowed invthorough_search -syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime invuse_domain invuse_from -syn keyword muttrcVarBool contained invuse_ipv6 invuser_agent invwait_key invweed invwrap_search invwrite_bcc -syn keyword muttrcVarBool contained crypt_autosign crypt_autoencrypt xterm_set_titles -syn keyword muttrcVarBool contained maildir_header_cache_verify +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 muttrcVarQuad contained abort_nosubject abort_unmodified copy delete honor_followup_to include mime_forward -syn keyword muttrcVarQuad contained mime_forward_rest mime_fwd move pgp_create_traditional pgp_verify_sig pop_delete -syn keyword muttrcVarQuad contained pop_reconnect postpone print quit recall reply_to ssl_starttls +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 contained noabort_nosubject noabort_unmodified nocopy nodelete nohonor_followup_to -syn keyword muttrcVarQuad contained noinclude nomime_forward nocontained nomime_forward_rest nomime_fwd nomove -syn keyword muttrcVarQuad contained nopgp_create_traditional nopgp_verify_sig nopop_delete nopop_reconnect +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 contained invabort_nosubject invabort_unmodified invcopy invdelete invhonor_followup_to -syn keyword muttrcVarQuad contained invinclude invmime_forward invcontained invmime_forward_rest invmime_fwd invmove -syn keyword muttrcVarQuad contained invpgp_create_traditional invpgp_verify_sig invpop_delete invpop_reconnect +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 muttrcVarNum contained connect_timeout history imap_keepalive mail_check pager_context pager_index_lines -syn keyword muttrcVarNum contained pgp_timeout pop_checkinterval read_inc score_threshold_delete score_threshold_flag -syn keyword muttrcVarNum contained score_threshold_read sendmail_wait sleep_time timeout wrapmargin write_inc +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 score_threshold_delete score_threshold_flag score_threshold_read +syn keyword muttrcVarNum contained sendmail_wait sleep_time smime_timeout ssl_min_dh_prime_bits timeout +syn keyword muttrcVarNum contained wrapmargin write_inc -syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution certificate_file -syn keyword muttrcVarStr contained charset compose_format date_format default_hook display_filter dotlock_program dsn_notify -syn keyword muttrcVarStr contained dsn_return editor entropy_file escape folder folder_format forw_format forward_format -syn keyword muttrcVarStr contained from gecos_mask hdr_format hostname imap_authenticators imap_delim_chars -syn keyword muttrcVarStr contained imap_home_namespace imap_pass imap_user indent_str indent_string index_format ispell -syn keyword muttrcVarStr contained locale mailcap_path mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied +syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution +syn keyword muttrcVarStr contained certificate_file charset compose_format config_charset content_type +syn keyword muttrcVarStr contained date_format default_hook display_filter dotlock_program dsn_notify +syn keyword muttrcVarStr contained dsn_return editor entropy_file envelope_from_address escape folder +syn keyword muttrcVarStr contained folder_format forw_format forward_format from gecos_mask hdr_format +syn keyword muttrcVarStr contained header_cache header_cache_pagesize hostname imap_authenticators +syn keyword muttrcVarStr contained imap_delim_chars imap_headers imap_home_namespace imap_login imap_pass +syn keyword muttrcVarStr contained imap_user indent_str indent_string index_format ispell locale mailcap_path +syn keyword muttrcVarStr contained mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied syn keyword muttrcVarStr contained mh_seq_unseen mix_entry_format mixmaster msg_format pager pager_format -syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command pgp_encrypt_only_command -syn keyword muttrcVarStr contained pgp_encrypt_sign_command pgp_entry_format pgp_export_command pgp_getkeys_command -syn keyword muttrcVarStr contained pgp_good_sign pgp_import_command pgp_list_pubring_command pgp_list_secring_command -syn keyword muttrcVarStr contained pgp_sign_as pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command -syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str post_indent_string -syn keyword muttrcVarStr contained postponed preconnect print_cmd print_command query_command quote_regexp realname record -syn keyword muttrcVarStr contained reply_regexp send_charset sendmail shell signature simple_search smileys sort sort_alias -syn keyword muttrcVarStr contained sort_aux sort_browser spoolfile status_chars status_format tmpdir to_chars tunnel visual -syn keyword muttrcVarStr contained header_cache header_cache_pagesize +syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command +syn keyword muttrcVarStr contained pgp_encrypt_only_command pgp_encrypt_sign_command pgp_entry_format +syn keyword muttrcVarStr contained pgp_export_command pgp_getkeys_command pgp_good_sign pgp_import_command +syn keyword muttrcVarStr contained pgp_list_pubring_command pgp_list_secring_command pgp_sign_as +syn keyword muttrcVarStr contained pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command +syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str +syn keyword muttrcVarStr contained post_indent_string postponed preconnect print_cmd print_command +syn keyword muttrcVarStr contained query_command quote_regexp realname record reply_regexp send_charset +syn keyword muttrcVarStr contained sendmail shell signature simple_search smileys smime_ca_location +syn keyword muttrcVarStr contained smime_certificates smime_decrypt_command smime_default_key +syn keyword muttrcVarStr contained smime_encrypt_command smime_encrypt_with smime_get_cert_command +syn keyword muttrcVarStr contained smime_get_cert_email_command smime_get_signer_cert_command +syn keyword muttrcVarStr contained smime_import_cert_command smime_keys smime_pk7out_command smime_sign_as +syn keyword muttrcVarStr contained smime_sign_command smime_sign_opaque_command smime_verify_command +syn keyword muttrcVarStr contained smime_verify_opaque_command sort sort_alias sort_aux sort_browser +syn keyword muttrcVarStr contained spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert +syn keyword muttrcVarStr contained status_chars status_format tmpdir to_chars tunnel visual + +" Present in 1.4.2.1 (pgp_create_traditional was a bool then) +syn keyword muttrcVarBool contained imap_force_ssl imap_force_ssl noinvimap_force_ssl +"syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional +syn keyword muttrcVarStr contained alternates 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 account-hook auto_view alternative_order charset-hook uncolor exec fcc-hook fcc-save-hook -syn keyword muttrcCommand folder-hook hdr_order iconv-hook ignore lists mailboxes message-hook mbox-hook my_hdr -syn keyword muttrcCommand pgp-hook push save-hook score send-hook source subscribe unalias unauto_view unhdr_order -syn keyword muttrcCommand unhook unignore unlists unmono unmy_hdr unscore unsubscribe -syn keyword muttrcCommand send2-hook alternates unalternates +syn keyword muttrcCommand auto_view alternative_order charset-hook 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 unhook unignore unmono unmy_hdr unscore +syn keyword muttrcCommand mime_lookup unmime_lookup spam ungroup +syn keyword muttrcCommand nospam unalternative_order + +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 +syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag + +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 muttrcSubscribeKeyword contained subscribe unsubscribe +syn region muttrcSubscribeLine keepend start=+^\s*\%(un\)\?subscribe\s+ skip=+\\$+ end=+$+ contains=muttrcSubscribeKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,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 muttrcBadAction contained "[^<>]\+" contains=muttrcEmail +syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|recall\|resent\|save\|send\|tag\|undelete\)-message\>" +syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|undelete\)-thread\>" +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 "\" +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 "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\" +syn match muttrcFunction contained "\<\%(backspace\|backward-char\|bol\|bottom\|bottom-page\|buffy-cycle\|clear-flag\|complete\%(-query\)\?\|copy-file\|create-alias\|detach-file\|eol\|exit\|extract-keys\|\%(imap-\)\?fetch-mail\|forget-passphrase\|forward-char\|group-reply\|help\|ispell\|jump\|limit\|list-reply\|mail\|mail-key\|mark-as-new\|middle-page\|new-mime\|pgp-menu\|query\|query-append\|quit\|quote-char\|read-subthread\|redraw-screen\|refresh\|rename-file\|reply\|select-new\|set-flag\|shell-escape\|skip-quoted\|sort\|subscribe\|sync-mailbox\|top\|top-page\|transpose-chars\|unsubscribe\|untag-pattern\|verify-key\|write-fcc\)\>" +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 muttrcBind contained bind skipwhite nextgroup=muttrcMenu -syn match muttrcBindLine "^\s*bind\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcBind +" 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 + +" 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 muttrcBindFunction contained /\S\+\%(\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 match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey +syn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL +syn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL +syn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL +syn match muttrcMacro /^\s*macro\s\?/ skipwhite nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL + +syn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent +syn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent + +syn match muttrcGroupFlag contained "-group" +syn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace + +syn keyword muttrcGroupKeyword contained group ungroup +syn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment -syn keyword muttrcMacro contained macro skipwhite nextgroup=muttrcMenu -syn match muttrcMacroLine "^\s*macro\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcMacro +syn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL +syn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL +syn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag +syn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL +syn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail +syn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL +syn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL +syn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite +syn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL +syn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL +syn match muttrcAliasAbbr contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL +syn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL +syn match muttrcAlias /^\s*alias\s/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL + +syn match muttrcUnAliasAbbr contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL +syn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL +syn match muttrcUnAlias /^\s*unalias\s\?/ nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL -syn keyword muttrcAlias contained alias -syn match muttrcAliasLine "^\s*alias\s\+\S\+" contains=muttrcAlias +syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]" +syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s\+\%([<>-][0-9]\+\|[0-9]\+[-][0-9]*\)" +syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s\+[0-9]\{2}\%(/[0-9]\{2}\%(/[0-9]\{2}\%([0-9]\{2}\)\)\?\)\?" +syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatRXContainer +syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatGroup +"syn match muttrcSimplePat contained /"[^~=%][^"]*/ contains=muttrcRXPat +"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXPat +syn match muttrcSimplePatGroup contained /[a-zA-Z0-9]\+/ +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 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 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 " Colour definitions takes object, foreground and background arguments (regexps excluded). -syn keyword muttrcColorField contained attachment body bold error hdrdefault header index -syn keyword muttrcColorField contained indicator markers message normal quoted search signature -syn keyword muttrcColorField contained status tilde tree underline +syn match muttrcColorMatchCount contained "[0-9]\+" +syn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syn region muttrcColorRXPat contained start=+\s\+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syn region muttrcColorRXPat contained start=+\s\+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL +syn keyword muttrcColorField contained attachment body bold error hdrdefault header index indicator markers message normal quoted search signature status tilde tree underline syn match muttrcColorField contained "\" -syn keyword muttrcColorFG contained black blue cyan default green magenta red white yellow -syn keyword muttrcColorFG contained brightblack brightblue brightcyan brightdefault brightgreen -syn keyword muttrcColorFG contained brightmagenta brightred brightwhite brightyellow -syn match muttrcColorFG contained "\<\(bright\)\=color\d\{1,2}\>" -syn keyword muttrcColorBG contained black blue cyan default green magenta red white yellow -syn match muttrcColorBG contained "\" -" Now for the match -syn keyword muttrcColor contained color skipwhite nextgroup=muttrcColorField -syn match muttrcColorInit contained "^\s*color\s\+\S\+" skipwhite nextgroup=muttrcColorFG contains=muttrcColor -syn match muttrcColorLine "^\s*color\s\+\S\+\s\+\S" skipwhite nextgroup=muttrcColorBG contains=muttrcColorInit +syn keyword muttrcColor contained black blue cyan default green magenta red white yellow +syn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow +syn match muttrcColor contained "\<\%(bright\)\=color\d\{1,2}\>" +" Now for the structure of the color line +syn match muttrcColorRXNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL +syn match muttrcColorBG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL +syn match muttrcColorBGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL +syn match muttrcColorFG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL +syn match muttrcColorFGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL +syn match muttrcColorContext contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL +syn match muttrcColorNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL +syn match muttrcColorKeyword contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL +syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace +" Now for the structure of the color index line +syn match muttrcPatternNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL +syn match muttrcColorBGI contained skipwhite /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL +syn match muttrcColorBGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI +syn match muttrcColorFGI contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI +syn match muttrcColorFGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI +syn match muttrcColorContextI contained skipwhite /\s*index/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI +syn match muttrcColorNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI +syn match muttrcColorKeywordI contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContextI,muttrcColorNLI +syn region muttrcColorLine keepend start=/^\s*color\s\+index/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,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 +syn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL +syn match muttrcUnColorAll contained skipwhite /[*]/ +syn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL +syn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL +syn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL +syn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL +syn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace " Mono are almost like color (ojects inherited from color) syn keyword muttrcMonoAttrib contained bold none normal reverse standout underline @@ -223,35 +429,84 @@ if version >= 508 || !exists("did_muttrc HiLink muttrcComment Comment HiLink muttrcEscape SpecialChar + HiLink muttrcRXChars SpecialChar HiLink muttrcString String + HiLink muttrcRXString String HiLink muttrcSpecial Special + HiLink muttrcGroupFlag Type + HiLink muttrcGroupDef Macro + HiLink muttrcAddrDef muttrcGroupFlag + HiLink muttrcRXDef muttrcGroupFlag + HiLink muttrcRXPat String + HiLink muttrcAliasGroupName Macro + HiLink muttrcAliasAbbr Identifier + HiLink muttrcUnAliasAbbr Identifier + HiLink muttrcAliasEncEmail Identifier + HiLink muttrcAliasParens Type HiLink muttrcNumber Number HiLink muttrcQuadopt Boolean HiLink muttrcEmail Special + HiLink muttrcVariable Special HiLink muttrcHeader Type HiLink muttrcKeySpecial SpecialChar HiLink muttrcKey Type - HiLink muttrcKeyName Macro + HiLink muttrcKeyName SpecialChar HiLink muttrcVarBool Identifier HiLink muttrcVarQuad Identifier HiLink muttrcVarNum Identifier HiLink muttrcVarStr Identifier HiLink muttrcMenu Identifier HiLink muttrcCommand Keyword - HiLink muttrcSet muttrcCommand + HiLink muttrcSet Keyword HiLink muttrcUnset muttrcCommand HiLink muttrcReset muttrcCommand HiLink muttrcToggle muttrcCommand HiLink muttrcBind muttrcCommand HiLink muttrcMacro muttrcCommand HiLink muttrcAlias muttrcCommand - HiLink muttrcAliasLine Identifier + HiLink muttrcUnAlias muttrcCommand + HiLink muttrcAction Macro + HiLink muttrcBadAction Error + HiLink muttrcBindFunction Error + HiLink muttrcBindMenuList Error + HiLink muttrcFunction Macro + HiLink muttrcGroupKeyword muttrcCommand + HiLink muttrcGroupLine Error + HiLink muttrcSubscribeKeyword muttrcCommand + HiLink muttrcSubscribeLine Error + HiLink muttrcListsKeyword muttrcCommand + HiLink muttrcListsLine Error + HiLink muttrcAlternateKeyword muttrcCommand + HiLink muttrcAlternatesLine Error + HiLink muttrcAttachmentsLine muttrcCommand + HiLink muttrcAttachmentsFlag Type + HiLink muttrcAttachmentsMimeType String + HiLink muttrcColorLine Error + HiLink muttrcColorContext Error + HiLink muttrcColorContextI Identifier + HiLink muttrcColorKeyword muttrcCommand + HiLink muttrcColorKeywordI muttrcColorKeyword HiLink muttrcColorField Identifier - HiLink muttrcColorFG String - HiLink muttrcColorBG muttrcColorFG - HiLink muttrcColor muttrcCommand - HiLink muttrcMonoAttrib muttrcColorFG + HiLink muttrcColor String + HiLink muttrcColorFG Error + HiLink muttrcColorFGI Error + HiLink muttrcColorBG Error + HiLink muttrcColorBGI Error + HiLink muttrcMonoAttrib muttrcColor HiLink muttrcMono muttrcCommand + HiLink muttrcSimplePat Identifier + HiLink muttrcSimplePatGroup Macro + HiLink muttrcSimplePatMetas Special + HiLink muttrcPattern Type + HiLink muttrcPatternInner Error + HiLink muttrcUnColorLine Error + HiLink muttrcUnColorKeyword muttrcCommand + HiLink muttrcUnColorIndex Identifier + HiLink muttrcShellString muttrcEscape + HiLink muttrcRXHooks muttrcCommand + HiLink muttrcRXHookNot Type + HiLink muttrcPatHooks muttrcCommand + HiLink muttrcPatHookNot Type delcommand HiLink endif diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim --- a/runtime/syntax/rhelp.vim +++ b/runtime/syntax/rhelp.vim @@ -1,16 +1,12 @@ " Vim syntax file " Language: R Help File " Maintainer: Johannes Ranke -" Last Change: 2006 Apr 12 -" Version: 0.6 +" Last Change: 2006 Apr 24 +" Version: 0.7 +" SVN: $Id$ " Remarks: - Now includes R syntax highlighting in the appropriate " sections if an r.vim file is in the same directory or in the " default debian location. -" - I didn't yet include any special markup for S4 methods. -" - The two versions of \item{}{} markup are not -" distinguished (in the \arguments{} environment, the items to -" be described are R identifiers, but not in the \describe{} -" environment). " - There is no Latex markup in equations " Version Clears: {{{1 @@ -24,20 +20,22 @@ endif syn case match -" Rd identifiers {{{ +" R help identifiers {{{ syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}" syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}" syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}" -syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained +syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained contains=rhelpDots syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end=/}/ contained " Highlighting of R code using an existing r.vim syntax file if available {{{1 syn include @R syntax/r.vim +syn match rhelpDots "\\dots" containedin=@R syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpSection -syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier +syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier,rhelpS4method syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end=/}/ contains=@R syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end=/}/ contains=@R contained syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpLink contained +syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=/)/ contains=@R,rhelpDots contained " Strings {{{1 syn region rhelpString start=/"/ end=/"/ @@ -51,12 +49,16 @@ syn match rhelpDelimiter "\\tab " " Keywords {{{1 syn match rhelpKeyword "\\R" -syn match rhelpKeyword "\\dots" syn match rhelpKeyword "\\ldots" +syn match rhelpKeyword "--" +syn match rhelpKeyword "---" +syn match rhelpKeyword "<" +syn match rhelpKeyword ">" " Links {{{1 syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend +syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend " Type Styles {{{1 syn match rhelpType "\\emph\>" @@ -109,7 +111,7 @@ syn match rhelpSection "\\testonly\>" " Freely named Sections {{{1 syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/ -" Rd comments {{{1 +" R help file comments {{{1 syn match rhelpComment /%.*$/ contained " Error {{{1 @@ -134,8 +136,9 @@ if version >= 508 || !exists("did_rhelp_ HiLink rhelpIdentifier Identifier HiLink rhelpString String HiLink rhelpKeyword Keyword + HiLink rhelpDots Keyword HiLink rhelpLink Underlined - HiLink rhelpType Type + HiLink rhelpType Type HiLink rhelpSection PreCondit HiLink rhelpError Error HiLink rhelpBraceError Error diff --git a/runtime/syntax/slrnrc.vim b/runtime/syntax/slrnrc.vim --- a/runtime/syntax/slrnrc.vim +++ b/runtime/syntax/slrnrc.vim @@ -1,15 +1,7 @@ " Vim syntax file -" Language: Slrn setup file (based on slrn 0.9.8.0) -" Maintainer: Debian VIM Maintainers -" Former Maintainer: Preben 'Peppe' Guldberg -" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $ -" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/slrnrc.vim?op=file&rev=0&sc=0 -" -" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain -" it only because patches have been submitted for it by Debian users and the -" former maintainer was MIA (Missing In Action), taking over its -" maintenance was thus the only way to include those patches. -" If you care about this file, and have time to maintain it please do so! +" Language: Slrn setup file (based on slrn 0.9.8.1) +" Maintainer: Preben 'Peppe' Guldberg +" Last Change: 23 April 2006 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg --- 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.0e] - "DisplayName"="Vim 7.0e: Edit with Vim popup menu entry" +[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0f] + "DisplayName"="Vim 7.0f: Edit with Vim popup menu entry" "UninstallString"="uninstal.exe" diff --git a/src/GvimExt/gvimext.h b/src/GvimExt/gvimext.h --- a/src/GvimExt/gvimext.h +++ b/src/GvimExt/gvimext.h @@ -28,7 +28,7 @@ //-------------------------------------------------------------- #ifndef STRICT -#define STRICT +# define STRICT #endif #define INC_OLE2 // WIN32, get ole2 from windows.h @@ -45,8 +45,8 @@ /* Accommodate old versions of VC that don't have a modern Platform SDK */ #if _MSC_VER < 1300 -#undef UINT_PTR -#define UINT_PTR UINT +# undef UINT_PTR +# define UINT_PTR UINT #endif #define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i))) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -173,6 +173,10 @@ OBJDIR = $(OBJDIR)d # We're on Windows NT or using VC 6+ ! ifdef CPU ASSEMBLY_ARCHITECTURE=$(CPU) +# Using I386 for $ASSEMBLY_ARCHITECTURE doesn't work for VC7. +! if ("$(ASSEMBLY_ARCHITECTURE)" == "i386") || ("$(ASSEMBLY_ARCHITECTURE)" == "I386") +ASSEMBLY_ARCHITECTURE = x86 +! endif ! else CPU = $(PROCESSOR_ARCHITECTURE) ASSEMBLY_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE) diff --git a/src/Makefile b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -880,7 +880,7 @@ MAN1DIR = /man1 ### Vim version (adjusted by a script) VIMMAJOR = 7 -VIMMINOR = 0e +VIMMINOR = 0f ### 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/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -2231,8 +2231,23 @@ ins_compl_longest_match(match) int had_match; if (compl_leader == NULL) + { /* First match, use it as a whole. */ compl_leader = vim_strsave(match->cp_str); + if (compl_leader != NULL) + { + had_match = (curwin->w_cursor.col > compl_col); + ins_compl_delete(); + ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); + ins_redraw(FALSE); + + /* When the match isn't there (to avoid matching itself) remove it + * again after redrawing. */ + if (!had_match) + ins_compl_delete(); + compl_used_match = FALSE; + } + } else { /* Reduce the text if this match differs from compl_leader. */ @@ -2650,15 +2665,23 @@ ins_compl_dictionaries(dict_start, pat, /* When invoked to match whole lines for CTRL-X CTRL-L adjust the pattern * to only match at the start of a line. Otherwise just match the - * pattern. */ + * pattern. Also need to double backslashes. */ if (ctrl_x_mode == CTRL_X_WHOLE_LINE) { - i = (int)STRLEN(pat) + 8; + char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\"); + + if (pat_esc == NULL) + return ; + i = (int)STRLEN(pat_esc) + 10; ptr = alloc(i); if (ptr == NULL) + { + vim_free(pat_esc); return; - vim_snprintf((char *)ptr, i, "^\\s*\\zs%s", pat); - regmatch.regprog = vim_regcomp(ptr, p_magic ? RE_MAGIC : 0); + } + vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc); + regmatch.regprog = vim_regcomp(ptr, RE_MAGIC); + vim_free(pat_esc); vim_free(ptr); } else diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -495,6 +495,7 @@ static void f_executable __ARGS((typval_ static void f_exists __ARGS((typval_T *argvars, typval_T *rettv)); static void f_expand __ARGS((typval_T *argvars, typval_T *rettv)); static void f_extend __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_feedkeys __ARGS((typval_T *argvars, typval_T *rettv)); static void f_filereadable __ARGS((typval_T *argvars, typval_T *rettv)); static void f_filewritable __ARGS((typval_T *argvars, typval_T *rettv)); static void f_filter __ARGS((typval_T *argvars, typval_T *rettv)); @@ -587,7 +588,6 @@ static void f_pathshorten __ARGS((typval static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv)); static void f_printf __ARGS((typval_T *argvars, typval_T *rettv)); static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv)); -static void f_pushkeys __ARGS((typval_T *argvars, typval_T *rettv)); static void f_range __ARGS((typval_T *argvars, typval_T *rettv)); static void f_readfile __ARGS((typval_T *argvars, typval_T *rettv)); static void f_reltime __ARGS((typval_T *argvars, typval_T *rettv)); @@ -2581,8 +2581,14 @@ get_lval(name, rettv, lp, unlet, skip, q lp->ll_li = list_find(lp->ll_list, lp->ll_n1); if (lp->ll_li == NULL) { - if (!quiet) - EMSGN(_(e_listidx), lp->ll_n1); + if (lp->ll_n1 < 0) + { + lp->ll_n1 = 0; + lp->ll_li = list_find(lp->ll_list, lp->ll_n1); + } + } + if (lp->ll_li == NULL) + { if (lp->ll_range && !lp->ll_empty2) clear_tv(&var2); return NULL; @@ -2602,11 +2608,7 @@ get_lval(name, rettv, lp, unlet, skip, q { ni = list_find(lp->ll_list, lp->ll_n2); if (ni == NULL) - { - if (!quiet) - EMSGN(_(e_listidx), lp->ll_n2); return NULL; - } lp->ll_n2 = list_idx_of_item(lp->ll_list, ni); } @@ -2614,11 +2616,7 @@ get_lval(name, rettv, lp, unlet, skip, q if (lp->ll_n1 < 0) lp->ll_n1 = list_idx_of_item(lp->ll_list, lp->ll_li); if (lp->ll_n2 < lp->ll_n1) - { - if (!quiet) - EMSGN(_(e_listidx), lp->ll_n2); return NULL; - } } lp->ll_tv = &lp->ll_li->li_tv; @@ -4861,9 +4859,15 @@ eval_index(arg, rettv, evaluate, verbose n1 = len + n1; if (!empty1 && (n1 < 0 || n1 >= len)) { - if (verbose) - EMSGN(_(e_listidx), n1); - return FAIL; + /* For a range we allow invalid values and return an empty + * list. A list index out of range is an error. */ + if (!range) + { + if (verbose) + EMSGN(_(e_listidx), n1); + return FAIL; + } + n1 = len; } if (range) { @@ -4875,11 +4879,7 @@ eval_index(arg, rettv, evaluate, verbose else if (n2 >= len) n2 = len - 1; if (!empty2 && (n2 < 0 || n2 + 1 < n1)) - { - if (verbose) - EMSGN(_(e_listidx), n2); - return FAIL; - } + n2 = -1; l = list_alloc(); if (l == NULL) return FAIL; @@ -4900,8 +4900,7 @@ eval_index(arg, rettv, evaluate, verbose } else { - copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv, - &var1); + copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv, &var1); clear_tv(rettv); *rettv = var1; } @@ -7006,6 +7005,7 @@ static struct fst {"exists", 1, 1, f_exists}, {"expand", 1, 2, f_expand}, {"extend", 2, 3, f_extend}, + {"feedkeys", 1, 2, f_feedkeys}, {"file_readable", 1, 1, f_filereadable}, /* obsolete */ {"filereadable", 1, 1, f_filereadable}, {"filewritable", 1, 1, f_filewritable}, @@ -7102,7 +7102,6 @@ static struct fst {"prevnonblank", 1, 1, f_prevnonblank}, {"printf", 2, 19, f_printf}, {"pumvisible", 0, 0, f_pumvisible}, - {"pushkeys", 1, 2, f_pushkeys}, {"range", 1, 3, f_range}, {"readfile", 1, 3, f_readfile}, {"reltime", 0, 2, f_reltime}, @@ -8989,6 +8988,44 @@ f_extend(argvars, rettv) } /* + * "feedkeys()" function + */ +/*ARGSUSED*/ + static void +f_feedkeys(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + int remap = TRUE; + char_u *keys, *flags; + char_u nbuf[NUMBUFLEN]; + int typed = FALSE; + + rettv->vval.v_number = 0; + keys = get_tv_string(&argvars[0]); + if (*keys != NUL) + { + if (argvars[1].v_type != VAR_UNKNOWN) + { + flags = get_tv_string_buf(&argvars[1], nbuf); + for ( ; *flags != NUL; ++flags) + { + switch (*flags) + { + case 'n': remap = FALSE; break; + case 'm': remap = TRUE; break; + case 't': typed = TRUE; break; + } + } + } + + ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE), + typebuf.tb_len, !typed, FALSE); + typebuf_was_filled = TRUE; + } +} + +/* * "filereadable()" function */ static void @@ -12173,8 +12210,12 @@ find_some_match(argvars, rettv, type) for (i = 0; i < NSUBEXP; ++i) { if (regmatch.endp[i] == NULL) - break; - if (list_append_string(rettv->vval.v_list, + { + if (list_append_string(rettv->vval.v_list, + (char_u *)"", 0) == FAIL) + break; + } + else if (list_append_string(rettv->vval.v_list, regmatch.startp[i], (int)(regmatch.endp[i] - regmatch.startp[i])) == FAIL) @@ -12621,42 +12662,6 @@ f_pumvisible(argvars, rettv) } /* - * "pushkeys()" function - */ -/*ARGSUSED*/ - static void -f_pushkeys(argvars, rettv) - typval_T *argvars; - typval_T *rettv; -{ - int remap = TRUE; - char_u *keys, *flags; - char_u nbuf[NUMBUFLEN]; - - rettv->vval.v_number = 0; - keys = get_tv_string(&argvars[0]); - if (*keys != NUL) - { - if (argvars[1].v_type != VAR_UNKNOWN) - { - flags = get_tv_string_buf(&argvars[1], nbuf); - for ( ; *flags != NUL; ++flags) - { - switch (*flags) - { - case 'n': remap = FALSE; break; - case 'm': remap = TRUE; break; - } - } - } - - ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE), - typebuf.tb_len, TRUE, FALSE); - typebuf_was_filled = TRUE; - } -} - -/* * "range()" function */ static void diff --git a/src/getchar.c b/src/getchar.c --- a/src/getchar.c +++ b/src/getchar.c @@ -1035,7 +1035,7 @@ ins_typebuf(str, noremap, offset, nottyp /* * Return TRUE if the typeahead buffer was changed (while waiting for a * character to arrive). Happens when a message was received from a client or - * from pushkeys(). + * from feedkeys(). * But check in a more generic way to avoid trouble: When "typebuf.tb_buf" * changed it was reallocated and the old pointer can no longer be used. * Or "typebuf.tb_off" may have been changed and we would overwrite characters @@ -1144,7 +1144,7 @@ del_typebuf(len, offset) } #if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL) - /* Reset the flag that text received from a client or from pushkeys() + /* Reset the flag that text received from a client or from feedkeys() * was inserted in the typeahead buffer. */ typebuf_was_filled = FALSE; #endif @@ -2918,7 +2918,7 @@ fix_input_buffer(buf, len, script) /* * Return TRUE when bytes are in the input buffer or in the typeahead buffer. * Normally the input buffer would be sufficient, but the server_to_input_buf() - * or pushkeys() may insert characters in the typeahead buffer while we are + * or feedkeys() may insert characters in the typeahead buffer while we are * waiting for input to arrive. */ int diff --git a/src/globals.h b/src/globals.h --- a/src/globals.h +++ b/src/globals.h @@ -1239,7 +1239,7 @@ EXTERN int echo_wid_arg INIT(= FALSE); / #if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL) EXTERN int typebuf_was_filled INIT(= FALSE); /* received text from client - or from pushkeys() */ + or from feedkeys() */ #endif #ifdef FEAT_CLIENTSERVER diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -6875,6 +6875,8 @@ mch_set_mouse_shape(int shape) } else if (shape < sizeof(mshape_ids) / sizeof(int)) id = mshape_ids[shape]; + else + return; # ifdef HAVE_GTK_MULTIHEAD c = gdk_cursor_new_for_display( gtk_widget_get_display(gui.drawarea), (GdkCursorType)id); diff --git a/src/gui_mac.c b/src/gui_mac.c --- a/src/gui_mac.c +++ b/src/gui_mac.c @@ -3163,7 +3163,7 @@ gui_mch_exit(int rc) DisposeEventHandlerUPP(mouseWheelHandlerUPP); #ifdef USE_ATSUI_DRAWING - if (gFontStyle) + if (p_macatsui && gFontStyle) ATSUDisposeStyle(gFontStyle); #endif @@ -3321,7 +3321,7 @@ gui_mch_init_font(char_u *font_name, int char_u used_font_name[512]; #ifdef USE_ATSUI_DRAWING - if (gFontStyle == NULL) + if (p_macatsui && gFontStyle == NULL) { if (ATSUCreateStyle(&gFontStyle) != noErr) gFontStyle = NULL; @@ -3393,7 +3393,7 @@ gui_mch_init_font(char_u *font_name, int Fixed fontSize; ATSStyleRenderingOptions fontOptions; - if (gFontStyle) + if (p_macatsui && gFontStyle) { fontID = font & 0xFFFF; fontSize = Long2Fix(font >> 16); @@ -3501,7 +3501,7 @@ gui_mch_set_font(GuiFont font) Fixed fontSize; ATSStyleRenderingOptions fontOptions; - if (gFontStyle) + if (p_macatsui && gFontStyle) { /* Avoid setting same font again */ if (ATSUGetAttribute(gFontStyle, kATSUMaxATSUITagValue+1, sizeof font, @@ -3546,9 +3546,9 @@ gui_mch_set_font(GuiFont font) (sizeof attribTags)/sizeof(ATSUAttributeTag), attribTags, attribSizes, attribValues) != noErr) { -#ifndef NDEBUG +# ifndef NDEBUG fprintf(stderr, "couldn't set font style\n"); -#endif +# endif ATSUDisposeStyle(gFontStyle); gFontStyle = NULL; } @@ -3556,7 +3556,7 @@ gui_mch_set_font(GuiFont font) } - if (!gIsFontFallbackSet) + if (p_macatsui && !gIsFontFallbackSet) { /* Setup automatic font substitution. The user's guifontwide * is tried first, then the system tries other fonts. */ @@ -3834,7 +3834,6 @@ draw_undercurl(int flags, int row, int c } } -#ifndef USE_ATSUI_DRAWING static void draw_string_QD(int row, int col, char_u *s, int len, int flags) @@ -3951,7 +3950,7 @@ draw_string_QD(int row, int col, char_u #endif } -#else /* USE_ATSUI_DRAWING */ +#ifdef USE_ATSUI_DRAWING static void draw_string_ATSUI(int row, int col, char_u *s, int len, int flags) @@ -4040,10 +4039,11 @@ draw_string_ATSUI(int row, int col, char gui_mch_draw_string(int row, int col, char_u *s, int len, int flags) { #if defined(USE_ATSUI_DRAWING) - draw_string_ATSUI(row, col, s, len, flags); -#else - draw_string_QD(row, col, s, len, flags); + if (p_macatsui) + draw_string_ATSUI(row, col, s, len, flags); + else #endif + draw_string_QD(row, col, s, len, flags); } /* diff --git a/src/gui_w32.c b/src/gui_w32.c --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -234,19 +234,23 @@ typedef struct tagNMTTDISPINFO_NEW typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *); #ifndef TTM_SETMAXTIPWIDTH -# define TTM_SETMAXTIPWIDTH (WM_USER+24) +# define TTM_SETMAXTIPWIDTH (WM_USER+24) #endif #ifndef TTF_DI_SETITEM -# define TTF_DI_SETITEM 0x8000 +# define TTF_DI_SETITEM 0x8000 #endif #ifndef TTN_GETDISPINFO -# define TTN_GETDISPINFO (TTN_FIRST - 0) +# define TTN_GETDISPINFO (TTN_FIRST - 0) #endif #endif /* defined(FEAT_BEVAL) */ +#ifndef TTN_GETDISPINFOW +# define TTN_GETDISPINFOW (TTN_FIRST - 10) +#endif + /* Local variables: */ #ifdef FEAT_MENU diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -1267,7 +1267,7 @@ static struct vimoption {(char_u *)NULL, (char_u *)0L} #endif }, - {"guitabtooltip", "gtl", P_STRING|P_VI_DEF|P_RWIN, + {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN, #if defined(FEAT_GUI_TABLINE) (char_u *)&p_gtt, PV_NONE, {(char_u *)"", (char_u *)0L} @@ -1631,6 +1631,11 @@ static struct vimoption {"loadplugins", "lpl", P_BOOL|P_VI_DEF, (char_u *)&p_lpl, PV_NONE, {(char_u *)TRUE, (char_u *)0L}}, +#ifdef FEAT_GUI_MAC + {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR, + (char_u *)&p_macatsui, PV_NONE, + {(char_u *)TRUE, (char_u *)0L}}, +#endif {"magic", NULL, P_BOOL|P_VI_DEF, (char_u *)&p_magic, PV_NONE, {(char_u *)TRUE, (char_u *)0L}}, diff --git a/src/option.h b/src/option.h --- a/src/option.h +++ b/src/option.h @@ -581,6 +581,9 @@ EXTERN char_u *p_lcs; /* 'listchars' */ EXTERN int p_lz; /* 'lazyredraw' */ EXTERN int p_lpl; /* 'loadplugins' */ +#ifdef FEAT_GUI_MAC +EXTERN int p_macatsui; /* 'macatsui' */ +#endif EXTERN int p_magic; /* 'magic' */ #ifdef FEAT_QUICKFIX EXTERN char_u *p_mef; /* 'makeef' */ diff --git a/src/proto/edit.pro b/src/proto/edit.pro --- a/src/proto/edit.pro +++ b/src/proto/edit.pro @@ -1,41 +1,41 @@ /* edit.c */ -int edit __ARGS((int cmdchar, int startln, long count)); -void edit_putchar __ARGS((int c, int highlight)); -void edit_unputchar __ARGS((void)); -void display_dollar __ARGS((colnr_T col)); -void change_indent __ARGS((int type, int amount, int round, int replaced)); -void truncate_spaces __ARGS((char_u *line)); -void backspace_until_column __ARGS((int col)); -int vim_is_ctrl_x_key __ARGS((int c)); -int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags)); -void set_completion __ARGS((int startcol, list_T *list)); -void ins_compl_show_pum __ARGS((void)); -char_u *find_word_start __ARGS((char_u *ptr)); -char_u *find_word_end __ARGS((char_u *ptr)); -int ins_compl_active __ARGS((void)); -int ins_compl_add_tv __ARGS((typval_T *tv, int dir)); -void ins_compl_check_keys __ARGS((int frequency)); -int get_literal __ARGS((void)); -void insertchar __ARGS((int c, int flags, int second_indent)); -void auto_format __ARGS((int trailblank, int prev_line)); -int comp_textwidth __ARGS((int ff)); -int stop_arrow __ARGS((void)); -void set_last_insert __ARGS((int c)); -void free_last_insert __ARGS((void)); -char_u *add_char2buf __ARGS((int c, char_u *s)); -void beginline __ARGS((int flags)); -int oneright __ARGS((void)); -int oneleft __ARGS((void)); -int cursor_up __ARGS((long n, int upd_topline)); -int cursor_down __ARGS((long n, int upd_topline)); -int stuff_inserted __ARGS((int c, long count, int no_esc)); -char_u *get_last_insert __ARGS((void)); -char_u *get_last_insert_save __ARGS((void)); -void replace_push __ARGS((int c)); -void fixthisline __ARGS((int (*get_the_indent)(void))); -void fix_indent __ARGS((void)); -int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty)); -int hkmap __ARGS((int c)); -void ins_scroll __ARGS((void)); -void ins_horscroll __ARGS((void)); +extern int edit __ARGS((int cmdchar, int startln, long count)); +extern void edit_putchar __ARGS((int c, int highlight)); +extern void edit_unputchar __ARGS((void)); +extern void display_dollar __ARGS((colnr_T col)); +extern void change_indent __ARGS((int type, int amount, int round, int replaced)); +extern void truncate_spaces __ARGS((char_u *line)); +extern void backspace_until_column __ARGS((int col)); +extern int vim_is_ctrl_x_key __ARGS((int c)); +extern int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags)); +extern void set_completion __ARGS((int startcol, list_T *list)); +extern void ins_compl_show_pum __ARGS((void)); +extern char_u *find_word_start __ARGS((char_u *ptr)); +extern char_u *find_word_end __ARGS((char_u *ptr)); +extern int ins_compl_active __ARGS((void)); +extern int ins_compl_add_tv __ARGS((typval_T *tv, int dir)); +extern void ins_compl_check_keys __ARGS((int frequency)); +extern int get_literal __ARGS((void)); +extern void insertchar __ARGS((int c, int flags, int second_indent)); +extern void auto_format __ARGS((int trailblank, int prev_line)); +extern int comp_textwidth __ARGS((int ff)); +extern int stop_arrow __ARGS((void)); +extern void set_last_insert __ARGS((int c)); +extern void free_last_insert __ARGS((void)); +extern char_u *add_char2buf __ARGS((int c, char_u *s)); +extern void beginline __ARGS((int flags)); +extern int oneright __ARGS((void)); +extern int oneleft __ARGS((void)); +extern int cursor_up __ARGS((long n, int upd_topline)); +extern int cursor_down __ARGS((long n, int upd_topline)); +extern int stuff_inserted __ARGS((int c, long count, int no_esc)); +extern char_u *get_last_insert __ARGS((void)); +extern char_u *get_last_insert_save __ARGS((void)); +extern void replace_push __ARGS((int c)); +extern void fixthisline __ARGS((int (*get_the_indent)(void))); +extern void fix_indent __ARGS((void)); +extern int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty)); +extern int hkmap __ARGS((int c)); +extern void ins_scroll __ARGS((void)); +extern void ins_horscroll __ARGS((void)); /* vim: set ft=c : */ diff --git a/src/proto/gui.pro b/src/proto/gui.pro --- a/src/proto/gui.pro +++ b/src/proto/gui.pro @@ -1,65 +1,65 @@ /* gui.c */ -void gui_start __ARGS((void)); -void gui_prepare __ARGS((int *argc, char **argv)); -int gui_init_check __ARGS((void)); -void gui_init __ARGS((void)); -void gui_exit __ARGS((int rc)); -void gui_shell_closed __ARGS((void)); -int gui_init_font __ARGS((char_u *font_list, int fontset)); -int gui_get_wide_font __ARGS((void)); -void gui_set_cursor __ARGS((int row, int col)); -void gui_update_cursor __ARGS((int force, int clear_selection)); -void gui_position_menu __ARGS((void)); -int gui_get_base_width __ARGS((void)); -int gui_get_base_height __ARGS((void)); -void gui_resize_shell __ARGS((int pixel_width, int pixel_height)); -void gui_may_resize_shell __ARGS((void)); -int gui_get_shellsize __ARGS((void)); -void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction)); -void gui_new_shellsize __ARGS((void)); -void gui_reset_scroll_region __ARGS((void)); -void gui_start_highlight __ARGS((int mask)); -void gui_stop_highlight __ARGS((int mask)); -void gui_clear_block __ARGS((int row1, int col1, int row2, int col2)); -void gui_update_cursor_later __ARGS((void)); -void gui_write __ARGS((char_u *s, int len)); -void gui_dont_update_cursor __ARGS((void)); -void gui_can_update_cursor __ARGS((void)); -int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back)); -void gui_undraw_cursor __ARGS((void)); -void gui_redraw __ARGS((int x, int y, int w, int h)); -int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags)); -int gui_wait_for_chars __ARGS((long wtime)); -void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers)); -int gui_xy2colrow __ARGS((int x, int y, int *colp)); -void gui_menu_cb __ARGS((vimmenu_T *menu)); -void gui_init_which_components __ARGS((char_u *oldval)); -int gui_use_tabline __ARGS((void)); -void gui_update_tabline __ARGS((void)); -void get_tabline_label __ARGS((tabpage_T *tp, int tooltip)); -int send_tabline_event __ARGS((int nr)); -void send_tabline_menu_event __ARGS((int tabidx, int event)); -void gui_remove_scrollbars __ARGS((void)); -void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp)); -scrollbar_T *gui_find_scrollbar __ARGS((long ident)); -void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging)); -void gui_update_scrollbars __ARGS((int force)); -int gui_do_scroll __ARGS((void)); -int gui_do_horiz_scroll __ARGS((void)); -void gui_check_colors __ARGS((void)); -guicolor_T gui_get_color __ARGS((char_u *name)); -int gui_get_lightness __ARGS((guicolor_T pixel)); -void gui_new_scrollbar_colors __ARGS((void)); -void gui_focus_change __ARGS((int in_focus)); -void gui_mouse_moved __ARGS((int x, int y)); -void gui_mouse_correct __ARGS((void)); -void ex_gui __ARGS((exarg_T *eap)); -int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext)); -void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext)); -void display_errors __ARGS((void)); -int no_console_input __ARGS((void)); -void gui_update_screen __ARGS((void)); -char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep)); -int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down)); -void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count)); +extern void gui_start __ARGS((void)); +extern void gui_prepare __ARGS((int *argc, char **argv)); +extern int gui_init_check __ARGS((void)); +extern void gui_init __ARGS((void)); +extern void gui_exit __ARGS((int rc)); +extern void gui_shell_closed __ARGS((void)); +extern int gui_init_font __ARGS((char_u *font_list, int fontset)); +extern int gui_get_wide_font __ARGS((void)); +extern void gui_set_cursor __ARGS((int row, int col)); +extern void gui_update_cursor __ARGS((int force, int clear_selection)); +extern void gui_position_menu __ARGS((void)); +extern int gui_get_base_width __ARGS((void)); +extern int gui_get_base_height __ARGS((void)); +extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height)); +extern void gui_may_resize_shell __ARGS((void)); +extern int gui_get_shellsize __ARGS((void)); +extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction)); +extern void gui_new_shellsize __ARGS((void)); +extern void gui_reset_scroll_region __ARGS((void)); +extern void gui_start_highlight __ARGS((int mask)); +extern void gui_stop_highlight __ARGS((int mask)); +extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2)); +extern void gui_update_cursor_later __ARGS((void)); +extern void gui_write __ARGS((char_u *s, int len)); +extern void gui_dont_update_cursor __ARGS((void)); +extern void gui_can_update_cursor __ARGS((void)); +extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back)); +extern void gui_undraw_cursor __ARGS((void)); +extern void gui_redraw __ARGS((int x, int y, int w, int h)); +extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags)); +extern int gui_wait_for_chars __ARGS((long wtime)); +extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers)); +extern int gui_xy2colrow __ARGS((int x, int y, int *colp)); +extern void gui_menu_cb __ARGS((vimmenu_T *menu)); +extern void gui_init_which_components __ARGS((char_u *oldval)); +extern int gui_use_tabline __ARGS((void)); +extern void gui_update_tabline __ARGS((void)); +extern void get_tabline_label __ARGS((tabpage_T *tp, int tooltip)); +extern int send_tabline_event __ARGS((int nr)); +extern void send_tabline_menu_event __ARGS((int tabidx, int event)); +extern void gui_remove_scrollbars __ARGS((void)); +extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp)); +extern scrollbar_T *gui_find_scrollbar __ARGS((long ident)); +extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging)); +extern void gui_update_scrollbars __ARGS((int force)); +extern int gui_do_scroll __ARGS((void)); +extern int gui_do_horiz_scroll __ARGS((void)); +extern void gui_check_colors __ARGS((void)); +extern guicolor_T gui_get_color __ARGS((char_u *name)); +extern int gui_get_lightness __ARGS((guicolor_T pixel)); +extern void gui_new_scrollbar_colors __ARGS((void)); +extern void gui_focus_change __ARGS((int in_focus)); +extern void gui_mouse_moved __ARGS((int x, int y)); +extern void gui_mouse_correct __ARGS((void)); +extern void ex_gui __ARGS((exarg_T *eap)); +extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext)); +extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext)); +extern void display_errors __ARGS((void)); +extern int no_console_input __ARGS((void)); +extern void gui_update_screen __ARGS((void)); +extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep)); +extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down)); +extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count)); /* vim: set ft=c : */ diff --git a/src/proto/message.pro b/src/proto/message.pro --- a/src/proto/message.pro +++ b/src/proto/message.pro @@ -1,71 +1,71 @@ /* message.c */ -int msg __ARGS((char_u *s)); -int verb_msg __ARGS((char_u *s)); -int msg_attr __ARGS((char_u *s, int attr)); -int msg_attr_keep __ARGS((char_u *s, int attr, int keep)); -char_u *msg_strtrunc __ARGS((char_u *s, int force)); -void trunc_string __ARGS((char_u *s, char_u *buf, int room)); -void reset_last_sourcing __ARGS((void)); -void msg_source __ARGS((int attr)); -int emsg_not_now __ARGS((void)); -int emsg __ARGS((char_u *s)); -int emsg2 __ARGS((char_u *s, char_u *a1)); -void emsg_invreg __ARGS((int name)); -char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr)); -char_u *msg_may_trunc __ARGS((int force, char_u *s)); -int delete_first_msg __ARGS((void)); -void ex_messages __ARGS((exarg_T *eap)); -void msg_end_prompt __ARGS((void)); -void wait_return __ARGS((int redraw)); -void set_keep_msg __ARGS((char_u *s, int attr)); -void set_keep_msg_from_hist __ARGS((void)); -void msg_start __ARGS((void)); -void msg_starthere __ARGS((void)); -void msg_putchar __ARGS((int c)); -void msg_putchar_attr __ARGS((int c, int attr)); -void msg_outnum __ARGS((long n)); -void msg_home_replace __ARGS((char_u *fname)); -void msg_home_replace_hl __ARGS((char_u *fname)); -int msg_outtrans __ARGS((char_u *str)); -int msg_outtrans_attr __ARGS((char_u *str, int attr)); -int msg_outtrans_len __ARGS((char_u *str, int len)); -char_u *msg_outtrans_one __ARGS((char_u *p, int attr)); -int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr)); -void msg_make __ARGS((char_u *arg)); -int msg_outtrans_special __ARGS((char_u *strstart, int from)); -char_u *str2special __ARGS((char_u **sp, int from)); -void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len)); -void msg_prt_line __ARGS((char_u *s, int list)); -void msg_puts __ARGS((char_u *s)); -void msg_puts_title __ARGS((char_u *s)); -void msg_puts_long_attr __ARGS((char_u *longstr, int attr)); -void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr)); -void msg_puts_attr __ARGS((char_u *s, int attr)); -void may_clear_sb_text __ARGS((void)); -void clear_sb_text __ARGS((void)); -void show_sb_text __ARGS((void)); -int msg_use_printf __ARGS((void)); -void mch_errmsg __ARGS((char *str)); -void mch_msg __ARGS((char *str)); -void msg_moremsg __ARGS((int full)); -void repeat_message __ARGS((void)); -void msg_clr_eos __ARGS((void)); -void msg_clr_eos_force __ARGS((void)); -void msg_clr_cmdline __ARGS((void)); -int msg_end __ARGS((void)); -void msg_check __ARGS((void)); -void verbose_enter __ARGS((void)); -void verbose_leave __ARGS((void)); -void verbose_enter_scroll __ARGS((void)); -void verbose_leave_scroll __ARGS((void)); -void verbose_stop __ARGS((void)); -int verbose_open __ARGS((void)); -void give_warning __ARGS((char_u *message, int hl)); -void msg_advance __ARGS((int col)); -int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield)); -void display_confirm_msg __ARGS((void)); -int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt)); -int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt)); -int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt)); -char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf)); +extern int msg __ARGS((char_u *s)); +extern int verb_msg __ARGS((char_u *s)); +extern int msg_attr __ARGS((char_u *s, int attr)); +extern int msg_attr_keep __ARGS((char_u *s, int attr, int keep)); +extern char_u *msg_strtrunc __ARGS((char_u *s, int force)); +extern void trunc_string __ARGS((char_u *s, char_u *buf, int room)); +extern void reset_last_sourcing __ARGS((void)); +extern void msg_source __ARGS((int attr)); +extern int emsg_not_now __ARGS((void)); +extern int emsg __ARGS((char_u *s)); +extern int emsg2 __ARGS((char_u *s, char_u *a1)); +extern void emsg_invreg __ARGS((int name)); +extern char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr)); +extern char_u *msg_may_trunc __ARGS((int force, char_u *s)); +extern int delete_first_msg __ARGS((void)); +extern void ex_messages __ARGS((exarg_T *eap)); +extern void msg_end_prompt __ARGS((void)); +extern void wait_return __ARGS((int redraw)); +extern void set_keep_msg __ARGS((char_u *s, int attr)); +extern void set_keep_msg_from_hist __ARGS((void)); +extern void msg_start __ARGS((void)); +extern void msg_starthere __ARGS((void)); +extern void msg_putchar __ARGS((int c)); +extern void msg_putchar_attr __ARGS((int c, int attr)); +extern void msg_outnum __ARGS((long n)); +extern void msg_home_replace __ARGS((char_u *fname)); +extern void msg_home_replace_hl __ARGS((char_u *fname)); +extern int msg_outtrans __ARGS((char_u *str)); +extern int msg_outtrans_attr __ARGS((char_u *str, int attr)); +extern int msg_outtrans_len __ARGS((char_u *str, int len)); +extern char_u *msg_outtrans_one __ARGS((char_u *p, int attr)); +extern int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr)); +extern void msg_make __ARGS((char_u *arg)); +extern int msg_outtrans_special __ARGS((char_u *strstart, int from)); +extern char_u *str2special __ARGS((char_u **sp, int from)); +extern void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len)); +extern void msg_prt_line __ARGS((char_u *s, int list)); +extern void msg_puts __ARGS((char_u *s)); +extern void msg_puts_title __ARGS((char_u *s)); +extern void msg_puts_long_attr __ARGS((char_u *longstr, int attr)); +extern void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr)); +extern void msg_puts_attr __ARGS((char_u *s, int attr)); +extern void may_clear_sb_text __ARGS((void)); +extern void clear_sb_text __ARGS((void)); +extern void show_sb_text __ARGS((void)); +extern int msg_use_printf __ARGS((void)); +extern void mch_errmsg __ARGS((char *str)); +extern void mch_msg __ARGS((char *str)); +extern void msg_moremsg __ARGS((int full)); +extern void repeat_message __ARGS((void)); +extern void msg_clr_eos __ARGS((void)); +extern void msg_clr_eos_force __ARGS((void)); +extern void msg_clr_cmdline __ARGS((void)); +extern int msg_end __ARGS((void)); +extern void msg_check __ARGS((void)); +extern void verbose_enter __ARGS((void)); +extern void verbose_leave __ARGS((void)); +extern void verbose_enter_scroll __ARGS((void)); +extern void verbose_leave_scroll __ARGS((void)); +extern void verbose_stop __ARGS((void)); +extern int verbose_open __ARGS((void)); +extern void give_warning __ARGS((char_u *message, int hl)); +extern void msg_advance __ARGS((int col)); +extern int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield)); +extern void display_confirm_msg __ARGS((void)); +extern int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt)); +extern int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt)); +extern int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt)); +extern char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf)); /* vim: set ft=c : */ diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro --- a/src/proto/os_mswin.pro +++ b/src/proto/os_mswin.pro @@ -46,8 +46,8 @@ extern int mch_print_blank_page __ARGS(( extern void mch_print_start_line __ARGS((int margin, int page_line)); extern int mch_print_text_out __ARGS((char_u *p, int len)); extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline)); -extern void mch_print_set_bg __ARGS((long_u bgcol)); -extern void mch_print_set_fg __ARGS((long_u fgcol)); +extern void mch_print_set_bg __ARGS((unsigned long bgcol)); +extern void mch_print_set_fg __ARGS((unsigned long fgcol)); extern char_u *mch_resolve_shortcut __ARGS((char_u *fname)); extern void win32_set_foreground __ARGS((void)); extern void serverInitMessaging __ARGS((void)); diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -2620,6 +2620,7 @@ ex_make(eap) unsigned len; win_T *wp = NULL; qf_info_T *qi = &ql_info; + int res; #ifdef FEAT_AUTOCMD char_u *au_name = NULL; @@ -2693,11 +2694,16 @@ ex_make(eap) (void)char_avail(); #endif - if (qf_init(wp, fname, (eap->cmdidx != CMD_make + res = qf_init(wp, fname, (eap->cmdidx != CMD_make && eap->cmdidx != CMD_lmake) ? p_gefm : p_efm, (eap->cmdidx != CMD_grepadd - && eap->cmdidx != CMD_lgrepadd)) > 0 - && !eap->forceit) + && eap->cmdidx != CMD_lgrepadd)); +#ifdef FEAT_AUTOCMD + if (au_name != NULL) + apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, + curbuf->b_fname, TRUE, curbuf); +#endif + if (res > 0 && !eap->forceit) { if (wp != NULL) qi = GET_LOC_LIST(wp); @@ -2707,12 +2713,6 @@ ex_make(eap) mch_remove(fname); vim_free(fname); vim_free(cmd); - -#ifdef FEAT_AUTOCMD - if (au_name != NULL) - apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, - curbuf->b_fname, TRUE, curbuf); -#endif } /* @@ -3168,6 +3168,12 @@ ex_vimgrep(eap) qf_update_buffer(qi); #endif +#ifdef FEAT_AUTOCMD + if (au_name != NULL) + apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, + curbuf->b_fname, TRUE, curbuf); +#endif + /* Jump to first match. */ if (qi->qf_lists[qi->qf_curlist].qf_count > 0) { @@ -3177,12 +3183,6 @@ ex_vimgrep(eap) else EMSG2(_(e_nomatch2), s); -#ifdef FEAT_AUTOCMD - if (au_name != NULL) - apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, - curbuf->b_fname, TRUE, curbuf); -#endif - theend: vim_free(regmatch.regprog); } diff --git a/src/testdir/test55.in b/src/testdir/test55.in --- a/src/testdir/test55.in +++ b/src/testdir/test55.in @@ -13,6 +13,12 @@ STARTTEST :catch : $put =v:exception[:14] :endtry +:" List slices +:$put =string(l[:]) +:$put =string(l[1:]) +:$put =string(l[:-2]) +:$put =string(l[0:8]) +:$put =string(l[8:-1]) :" :" List identity :let ll = l @@ -80,6 +86,57 @@ STARTTEST :unlet d[-1] :$put =string(d) :" +:" removing items out of range: silently skip items that don't exist +let l = [0, 1, 2, 3] +:unlet l[2:1] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[2:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[2:3] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[2:4] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[2:5] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-1:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-2:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-3:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-4:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-5:2] +:$put =string(l) +let l = [0, 1, 2, 3] +:unlet l[-6:2] +:$put =string(l) +:" +:" assignment to a list +:let l = [0, 1, 2, 3] +:let [va, vb] = l[2:3] +:$put =va +:$put =vb +:try +: let [va, vb] = l +:catch +: $put =v:exception[:14] +:endtry +:try +: let [va, vb] = l[1:1] +:catch +: $put =v:exception[:14] +:endtry +:" :" manipulating a big Dictionary (hashtable.c has a border of 1000 entries) :let d = {} :for i in range(1500) diff --git a/src/testdir/test55.ok b/src/testdir/test55.ok --- a/src/testdir/test55.ok +++ b/src/testdir/test55.ok @@ -3,6 +3,11 @@ start: {'a': 1} 1 Vim(put):E684: +[1, 'as''d', [1, 2, function('strlen')], {'a': 1}] +['as''d', [1, 2, function('strlen')], {'a': 1}] +[1, 'as''d', [1, 2, function('strlen')]] +[1, 'as''d', [1, 2, function('strlen')], {'a': 1}] +[] 101101 {'1': 'asd', 'b': [1, 2, function('strlen')], '-1': {'a': 1}}asd ['-1', '1', 'b'] @@ -19,6 +24,21 @@ Vim(let):E706: l [1, 'as''d', {'a': 1}] [4] {'1': 99, '3': 33} +[0, 1, 2, 3] +[0, 1, 3] +[0, 1] +[0, 1] +[0, 1] +[0, 1, 2, 3] +[0, 1, 3] +[0, 3] +[3] +[3] +[3] +2 +3 +Vim(let):E687: +Vim(let):E688: 3000 2900 2001 1600 1501 Vim(let):E716: 1500 NONE 2999 diff --git a/src/version.h b/src/version.h --- a/src/version.h +++ b/src/version.h @@ -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 "vim70e" -#define VIM_VERSION_SHORT "7.0e" -#define VIM_VERSION_MEDIUM "7.0e07 BETA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23, compiled " +#define VIM_VERSION_NODOT "vim70f" +#define VIM_VERSION_SHORT "7.0f" +#define VIM_VERSION_MEDIUM "7.0f BETA" +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0f BETA (2006 Apr 24)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0f BETA (2006 Apr 24, compiled "